Kristinka Hair Tests

Comments on work in progress
User avatar
druitre
Posts: 471
Joined: 25 Jun 2009, 23:35

Re: Kristinka Hair Tests

Post by druitre » 20 Mar 2010, 16:03

Hi Mathaeus,

sorry, I don't understand your answer. Do you say that after 'adding a few nodes', the hair won't 'look thinner with camera zoom'?

And when you say 'I found the current option a bit better', do you mean not using those 'few nodes' is better than using them or do you mean the difference between 2010 and 2011?

Also, with 'camera zoom', do you mean lens angle or camera distance?

I think a better way to put my initial question would be: what is that pixel size unit issue, what's it about and what problems will be gone with the fix?

thanks, Jasper

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 20 Mar 2010, 18:28

druitre wrote:Hi Mathaeus,
I think a better way to put my initial question would be: what is that pixel size unit issue, what's it about and what problems will be gone with the fix?
thanks, Jasper
Actually, I would call that 'choice', more than 'issue'. Rendering a lot of thin, overlapping objects, that's always a challenge. Regardless of world or screen space, you'll have to 'do something' with, for example, thin grass which is far away from camera, that constantly 'buzzing' from frame to frame. At this stage, current, screen space, seems to be easier to control.

It's not big deal to create compound that changes strand size according to output resolution, distance to camera and camera angle, but this one can kill the playback. Also you still won't get it right in render region, unless you manually enter a some 'estimate' values.

Anyway, I'll try to create compound.

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 20 Mar 2010, 19:56

Hi,

I think that is the formula in ICE language. "1024" is screen resolution (I think it's horizontal resolution), "0.1" is strand thickness in SI units. Probably it's good idea to ad "clamp" node at the end, for keeping strand size in desired screen units. This one uses point position ("strand root"). For more accurate, but slower calculation, strand position may be used instead.

Cheers

screen shot of ICE tree

Ahmidou
Posts: 106
Joined: 04 Jan 2010, 14:00

Re: Kristinka Hair Tests

Post by Ahmidou » 21 Mar 2010, 11:19

Actually, the pixel size unit limitation was not changed in 2011 but you'll now have the choice between screen space and world space size.

Hey Mathaeus I found some lecture for you :D
http://www.disneyanimation.com/library/ ... umHair.pdf

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 21 Mar 2010, 12:47

Thank you for link, even I already have a whole bag of these :) I got them from my fellows, game programmers... At this time, I have no plans for simulation improvements - all work is still focused on styling, including styling in ICE post-simulation.

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 03 Apr 2010, 23:23

Hi all

here are a few new ones. Styling is the same as in 'Follow-NURBS-Offset-Curves' demo in the lastest release, but with a bit different layout of NURBS surfaces.

Actually images are rendering tests, how MR is handling with all that, rendered in one go. It's rasterizer with final gathering, also raytraced reflections at some places. Finally I was able to get these renderings finished, only by playing with 'max depth' parameter in rasterizer's settings - it's a some kind of 'trace level' for rasterizer, that can dramatically speed-up the rendering, but also leaves the areas with black alpha.

Image

Here is screenshot of ICE trees. - a big one.


Cheers

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 03 Apr 2010, 23:25

... and another one

Image

User avatar
Rork
Posts: 1359
Joined: 09 Jul 2009, 08:59
Location: Close to The Hague, Netherlands
Contact:

Re: Kristinka Hair Tests

Post by Rork » 09 Apr 2010, 10:45

Impressive work, as always :-bd ^:)^ ^:)^
SI UI tutorials: Toolbar http://goo.gl/iYOL0l | Custom Layout http://goo.gl/6iP5xQ | RenderManager View http://goo.gl/b4ZkjQ
So long, and thanks for all the Fish!!

User avatar
rray
Moderator
Posts: 1774
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany
Contact:

Re: Kristinka Hair Tests

Post by rray » 25 Apr 2010, 18:05

Well done, Anto!

Sorry everyone for the lack of updates (and the tutorial) . . Need to get back on track.

Here's a scene file for the last picture I posted (SI '11 format)

Btw: Did anyone notice improved render times when using ray tracing with strand hair in SI 2011? By some first tests, it seems to be faster than rasterizer now compared to SI 2010. Might be some glitch in my setup also.

Btw Anto, AbsoluteShapeWidth seems to change the look of the render also, I can't get it to look the same as when rendering with Pixel Units. It looks a bit more like wires than hair.
Test: two pointclouds with diff. hairstyles merged
Test: two pointclouds with diff. hairstyles merged
IMG_H1.jpg (85.42 KiB) Viewed 5050 times
softimage resources section updated Jan 5th 2024

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 08 May 2010, 22:20

Hi,

here is a small experiment with final gathering and ICE strands. For ICE strands, I think it's good idea to always use 'Long Hair' diffuse model in Hair Renderer -
not only because long hair is modeled. Even with short hair, info about normals from emitter's surface doesn't exist (at least I think so). Also, Kristinka Hair nodes does not respect old fashion hair shading rule of 'first segment parallel to emitter's normal'.

So, 'Long hair' diffuse model calculates shading normals relative to direction to lights - but in case of final gathering, what normals are used ? I'm still not sure, to be honest. For this experiment, I've used only one light with very low intensity, didn't noticed any influence of this one to FG shading.

Fortunately, we can provide a custom shading normals to Hair Renderer. Custom vector is used as an input for 'normal' in Bump Generator node, as well 'Relative to Input Normal' option with node. 'Bump Factor' is set to zero, as we already can't use bitmap, there is no 2d mapping with hairs, only normals are important here. To get it work, 'Normal Blend' in Hair Renderer need to be at more than zero.

Now, examples. Two at bottom are Eye Ray Vector - normal are looking at camera, or inverse. Second one looks most promising to me, it's custom attribute already created by kH Follow NURBS styling modifier - this is in fact, surface normal of NURBS surface used for styling, sampled for each strand segment of hair guides, then transferred to rendered strands/hairs. This is fast setup, of course it's possible to create a more fancy solution, with complex setups.

Cheers

Image

User avatar
rray
Moderator
Posts: 1774
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany
Contact:

Re: Kristinka Hair Tests

Post by rray » 09 May 2010, 01:44

Interesting, it never occured to me that this is even a problem before xD

Wouldn't the best normals for fg be:
(walking along the width of a strand) ...
cross product of inverse eye ray and strand segment's direction vector----> inverse eye ray ---> inverse of the cross product

Maybe this could be simulated ...
Beause fg samples a hemisphere this would result in a total 360 degree sampling (with prevalence towards inv. eye)

I tried to test this by merging the last two of yuor pictures in photoshop (inverse eye ray normal at 66% blend mix, eye ray normal at 33%)

Hm ah well... no idea if this looks any more realstic, probably some more renders and teting required ~o)
hairblend.jpg
hairblend.jpg (63.04 KiB) Viewed 4999 times
softimage resources section updated Jan 5th 2024

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Kristinka Hair Tests

Post by izze » 11 May 2010, 00:32

Could I ask where to find AbsoluteWidth and Pixel Unit settings? I am having difficulty finding more information regarding this option.

User avatar
rray
Moderator
Posts: 1774
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany
Contact:

Re: Kristinka Hair Tests

Post by rray » 12 May 2010, 22:42

There's no setting, you'll need create a set data node and set shapeSizeAbsolute true for each particle
softimage resources section updated Jan 5th 2024

izze
Posts: 176
Joined: 24 Sep 2009, 20:02

Re: Kristinka Hair Tests

Post by izze » 13 May 2010, 00:57

Thanks for getting back to me on that.

I just spent the last 48 hours trying to pin down a problem I am having. I am getting crashing during render time in 2011. I think I have it narrowed down to a combination Kristinka, SSS, and Final Gather.

I can have SSS and Kristinka in the scene without problems, but once I turn on FG my renders lock up or crashes XSI. Also, I can have Kristinka and FG, but once I introduce SSS to the scene, I get the same problems. I have tried this on several machines in our office. For testing purposes I am using the built in fast sss material.

This is only in 2011, so I apologize if Kristinka is not ready for 2011, or if I have missed information indicating this issue. (or otherwise just messing things up myself) :)
Attachments
2011 Hair Test.rar
(162 KiB) Downloaded 257 times
2010 Hair Test.rar
(138.81 KiB) Downloaded 228 times

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Kristinka Hair Tests

Post by Mathaeus » 13 May 2010, 10:07

For me, it looks like Mental Ray can't handle combination of SSS, Hair primitives an FG, where each of these components isn't problematic itself. From my experience, problems can happen in areas with high strand's density - Mental Ray became deadly slow, or you can see a 'lovely' message about firing another 1000 FG points.... then it hangs.

Usually I'm able to solve this by setting 'Max Depth' value in global Rasterizer's render options, to something more than zero - let's say 20, 30.... Avoiding to use transparency on ICE strands, where ever you can, it's also good idea.

Kristinka Hair ICE nodes are just XML, textual files, that communicates with ICE in any XSI version you have, above 7.01. I don't planning any serious updates in near future.

Thanks

User avatar
Werner
Posts: 157
Joined: 09 Jun 2009, 13:30
Contact:

Re: Kristinka Hair Tests

Post by Werner » 13 May 2010, 18:59

The same thing is happening to my scene. Skin shader, strand hair and FG is a no-go. It's not a problem to split objects up in passes, but FG with Strand hair takes 3 - 5 times as long to render (with SSS objects hidden). We had to dump Mental Slow FG for this project.
Also, I did some render benchmark tests and found that Raytracing was faster then Scanline or Rasterizing. I stopped the render on Rasterize because it took way too long. I must be doing something stupid.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Bing [Bot], trendiction [Bot] and 26 guests