Cycles's GSoC 2018 project: new hair shader! Expectations?

Congratulations, great-great job! And very fast! :slight_smile:
I also second Ace’s question about stretch goals. Do you have any in your mind?

2 Likes

:metal: well done you rock. It’s so nice to see stuff go from GSoC 2018 into master quickly and not die in branches.

Thanks all for the comments!

For the time being, I plan on sitting back and see if anyone runs into bugs. If everything is smooth, we could add:

  • Full control over the 4 reflection modes (primary specular, transmission, secondary specular and residual). Brecht discarded this, as we wanted the shader to be easy-to-use, but perhaps someone would find an use for them?
  • Improved Filter Glossy. The current implementation is a simple clamp without regard to the Roughness/Radial Roughness ratio. I don’t know if this is correct, as most other nodes only have a single Roughness.
8 Likes

Awesome job! :+1: I would love to see full control over the 4 reflection modes, particularly the transmission.

There’s something even better than seeing the Hair Principled shader committed to master. The buildbot was poked so us Windows users can use it now instead of waiting to the end of the day (that applies to the USA at least).

It’s nice to have a easy-to-use settings, but I think that will ever be a situation where more details in settings could be really helpful. Is it not possible to make and advanced mode for the shader with foull controls?

1 Like

Congrats @amyspark all the best to your journey hopefully you stick around and thanks to @brecht and @lukasstockner97 for actively supporting him :slight_smile:

@amyspark great job! The shader is amazingly easy and gives super results!

I did some renders of Judy with her original fur and the new version. Took a couple of tries before I understood how the new shader works, but I think the result speaks for itself.

Original version:

New principled:

4 Likes

Great result. And about the render time?

Render time seems to be worse, but only because the new shader seems to need more strands to cover the mesh below. So I think it was about 4½ minutes to render the old and 5½ to render the new. Increased children from 65 to 100.

Good job, looks like the new shader is keeping the color vivid, not washed out.

Let’s not. These controls will just allow users to make worse looking hair materials, and increase room for error at the same time. I am quite sure that people who actually know what they are doing will never request these. Only those who have no idea what they are doing may request more knobs.

2 Likes

I had to darken the colors a bit and feed the image through a gamma node (1.33) before putting it into the new hair shader. Else the colors were washed out a lot.

Good to know :slight_smile:

I find that part interesting, as I don’t think the project in general ever touched the code concerning strand generation.

Now if it had something to do with the shading, it could be plausible as animal fur in general can be quite dense.

Maybe the principled shader has a stronger transmission component than the shader being compared to, revealing more of the mesh below.

1 Like

I’ve done some testing now. I’ve rendered the same frame (with same number of hairs) @1000 samples in 1920*1080 with the original shader and with the new principled shader (with and without gamma node) on an ASUS 1080 GTX.

Old shader, 11:50 render time:

New principled (no gamma), 14:30 render time:

New principled (with gamma), 14:15 render time:

2 Likes

If you increase number of strands, it is not surprising that result looks better.
If you want to make an honest comparison, you have to make renders with same geometry.

It is probably in same order of some thousands per cm².
So, for a head of a small animal, it should correspond to something around 1 or 2, 3 millions of stands.
With hundred of children per guide, it means dozen of thousands of guides.

So, maybe it is not the number of strands but simply size of them that is not sufficient.
It is a common mistake to forget it.

I just did in my latest post :wink:

1 Like