Sun, Jan 5, 8:37 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 03 1:41 pm)



Subject: How to improve this hair shader...


Believable3D ( ) posted Sat, 02 August 2014 at 9:31 PM · edited Thu, 21 November 2024 at 3:39 AM

file_506279.jpg

Hi, I'm building on some material examples Dadt and others showed a long time ago to get a bit of hair colour variation, as well as attempting to incorporate Bagginsbill's stuff on reflection/blinn for good specular from indirect & direct light. Without the reflect & blinn nodes, the shader actually renders pretty fast, but adding those slows it right down.

Now, I'm aware that reflection is relatively slow anyway, but I'm also pretty sure that I haven't optimized this right, and my results are probably compromised to boot. I'm pretty much just guessing how to set this up. At any rate, at the speed this setup renders at present, I'd almost certainly never use it.

I'll post the shader without the Reflect & Blinn added in a minute.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Sat, 02 August 2014 at 9:33 PM

file_506280.jpg

Here's the version without the Reflect and Blinn nodes added.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Sat, 02 August 2014 at 10:40 PM

file_506286.png

Meh. Queue Manager claims to be done, but looks like a line of buckets is unrendered.

One thing I should add is that though my non-Reflect & Blinn shader renders quickly, if there is little or no direct light, the infamous blotches come with a vengeance. I initially was working only with the two-tone gradient on BB's Environment Sphere + one specular-only infinite light, and the blotches were pretty bad, especially on lighter hair tones. (That's with decent but not spectacular render settings—.15 min shading rate; IDL quality around 45; Irradiance Caching around 50.)

Here, I've used direct light—one infinite at 40% intensity—and upped the Irradiance Caching to around 80. That seems to have cured the splotches, but I'd still prefer a solution of either only IDL + Reflect in the hair materials themselves, or only IDL + specular-only light.

My colour variations are probably too subtle with this shader as is, but I think it's a reasonable starting point. The hair itself ... suffice to say that I am no master in the Hair Room.

P.S. Forgive the blonde hair and brown brows. The original character is brunette, but I was developing materials for a whole bunch of hair colours using the same base.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


NanetteTredoux ( ) posted Sun, 03 August 2014 at 11:29 AM

Are you using Poser 10 or Pro 2014?

I am having repeated problems with unrendered buckets in scenes that include dynamic hair. I believe there is a service release in the works that will address issues with the rendering of dynamic hair. So I have left off experimenting with dynamic hair until that problem is sorted out, because I am not sure how long it should be taking to render.

That being said, I like the distribution of the reflection on this hair, but the colour still seems to be a little flat. Your shader looks easily adjustable to deal with that though.

Poser 11 Pro, Windows 10

Auxiliary Apps: Blender 2.79, Vue Complete 2016, Genetica 4 Pro, Gliftex 11 Pro, CorelDraw Suite X6, Comic Life 2, Project Dogwaffle Howler 8, Stitch Witch


dadt ( ) posted Sun, 03 August 2014 at 3:07 PM

file_506298.jpg

I'm using Pro 2014 and have not had any problems with unrendered buckets but I have found that with a multi core CPU (I have 8 cores) the bucket size has a big effect on the render time.

According to the manual larger bucket sizes give shorter render times provided there is sufficient memory available. This is not so when rendering dynamic hair. If the bucket size is large compared to the area covered by the hair then only one or two cores are doing most of the work.

I rendered the above scene several times with the following results.

Bucket size     Time min-sec

4                    6-17

8                    5-33

16                  5-59

32                  7-36

64                  9-32

128                13-35


Believable3D ( ) posted Sun, 03 August 2014 at 7:00 PM

Thanks, both of you. Sorry, I thought I had updated my sig line, but I see now that it says I'm using PP2012. I'm using PP2014.

Nanette, so far as the "colour being flat," I suspect you're saying my saturation values are relatively low? If so, yes, that's related to what colours I actually use, and I think most 3D hair is over-saturated compared to real life. But in any case, it's adjustable.

dadt, as usual that hair looks great. And thanks for the info about bucket sizes. I've gone from big buckets back down to 32, but given your numbers, I'm going to reconsider that and try smaller and see if that helps. I have four physical cores, but they're multithreaded.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Sun, 03 August 2014 at 7:09 PM

file_506304.jpg

In case it isn't clear, I should add that the render from a few posts back is from my shader *without* the Reflect and Blinn nodes. The point of this thread was how to use those nodes properly—and usably. The shader at the top that includes those nodes was taking a really long time to render.

I would actually be satisfied with the non-Reflect+Blinn shader, I think—IF PP2014 could render dynamic hair with specular-only lighting+IDL without leaving those nasty blotches.

I'm attaching an earlier render with just the Env Sphere + a spec-only infinite to show an example of the artifacts I'm talking about. The big splotches at top left are the most egregious, but there are less than unacceptable areas in other areas of the hair as well. There are of course threads that talk about this elsewhere, and it's not limited to dynamic hair, but the artifacts do seem much worse with hair than other objects.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


bagginsbill ( ) posted Mon, 04 August 2014 at 9:00 AM · edited Mon, 04 August 2014 at 9:01 AM

There are two major real-world hair effects that prevent us from getting the best results in Poser.

First: Hair has a unique pattern of overlapping scales like the siding of a clapboard house. This creates an angular shift and a unique spread in the reflection pattern that is missing from Poser and I have not found a way to do it with any combination of nodes.

Second: Poser strand hair is not a cylinder, but rather a series of very small billboards, always facing the camera, with a peculiar (but effective) wonky shading method (in the hair node), The subsurface scattering that happens in the real cylinders of hair is lost in Poser - strand hair is 2D. This also is why it is so difficult to get the roots of white hair to stop going dark gray - they are not facing each other and offer little to no opportunity for IDL to happen properly, nor to scatter and diffuse the light that does arrive there.

Meanwhile - we can do much to try to get as close as possible. But speed is an issue.

Your softness = .2 in the reflect node is well motivated, but computationally expensive and may contribute only 2% to the realism. Perhaps you want to toss that.

As for the Blinn - for reason #1 above, it's actually not the best choice. The clever, wonky specular algorithm unique to the hair node seems best under many circumstances.

To be honest, I have not explored the nooks and crannies of hair shadery nearly as much as other stuff, so there is still much to be experimentally verified. Keep going.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Mon, 04 August 2014 at 9:10 AM

file_506330.jpg

Here is an extreme closeup of some strand hair.

The shader is a diffuse red-orange with lots of ordinary specular. Given my light source and camera position, there should be tons of specular highlights on the "tubes". There is none at all because they are not tubes. They segments are 2D rectangles, oriented towards the camera like billboards.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Mon, 04 August 2014 at 9:13 AM · edited Mon, 04 August 2014 at 9:16 AM

file_506331.jpg

Now with a hair node for shading (set to black hair, white highlight). We can see that much of what we think is hair "translucence" or "scattering" is quite ordinary transparency, somehow magically invoked by the hair node, despite there being 0 transparency on the root poser surface node.

You might then start to wonder with a lot of overlapping hairs, all doing some transparency, that this is just as computationally expensive as trans-mapped hair with lots of layers is.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Believable3D ( ) posted Mon, 04 August 2014 at 2:40 PM

Thanks, BB. I'll see how much difference removing the softness makes so far as rendering with Reflect.

What do you suggest rather than Blinn? just a specular node? or maybe just resorting to the built-in Specular?

Any idea at all how to optimize either version to allow spec-only direct lights without having that degree of artifacts?

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


bagginsbill ( ) posted Mon, 04 August 2014 at 2:55 PM

Quote - What do you suggest rather than Blinn? just a specular node? or maybe just resorting to the built-in Specular?

The hair node. It has the only specular that works moderately correctly with the billboards.

Quote - Any idea at all how to optimize either version to allow spec-only direct lights without having that degree of artifacts?

No. In fact I get those artifacts even with direct light.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Believable3D ( ) posted Mon, 04 August 2014 at 3:04 PM

Sigh. This is the one big thing I wish Smith Micro would fix. I almost always want to use hair room hair for serious renders.

Anyway, sounds like all I need to add to my base is a Reflect node with no softness. Will see how much difference that makes in render times.

Other than softness, do you have any other comments on the actual settings I have on the Reflect node in the first post? Is it otherwise reasonable?

Thanks again!

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Mon, 04 August 2014 at 3:23 PM

Hm.

Here's a basic question. I've always assumed that the Hair Room settings for root width and tip width matched up to the shading rate. (Thus no point of having a shading rate lower than say .25 if neither your tip nor root width are less than .25.) Now I have no idea where I got that assumption. Is it true?

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


bagginsbill ( ) posted Mon, 04 August 2014 at 3:25 PM · edited Mon, 04 August 2014 at 3:26 PM

Quote - Other than softness, do you have any other comments on the actual settings I have on the Reflect node in the first post? Is it otherwise reasonable?

Well ... I was trying not to be typical baggins nitpicker, but what are you doing with the reflect and blinn plugged into the color ramp blending input?

Are you trying to say what you've actually said? Here's what you said:

I want to measure the amount of light specularly reflected from my scene and my lighting. Use that as a number from 0 to 1 to select from a gradient of hair colors, differing in saturation but not hue or luminance. (I.e. some shades of soft yellow). I do not want the brightest spots to be the brightest because the 4th color is darker than the 3rd, limiting how bright this can get.

Vilters would argue (perhaps rightly so) that you should not have been allowed to wire these up this way. It's not realistic.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Mon, 04 August 2014 at 3:27 PM · edited Mon, 04 August 2014 at 3:29 PM

Quote - Hm.

Here's a basic question. I've always assumed that the Hair Room settings for root width and tip width matched up to the shading rate. (Thus no point of having a shading rate lower than say .25 if neither your tip nor root width are less than .25.) Now I have no idea where I got that assumption. Is it true?

Those widths refer to the relative width of the rectangle billboards that the hair strand is made up of. While having a low shading rate will help to render small billboards, they are not directly related. Certainly the units have nothing to do with each other. The shading rate is in square pixels, whereas the hair width - well I don't know what it is exactly.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Believable3D ( ) posted Mon, 04 August 2014 at 3:39 PM

Haha. Exactly why I was asking for help. I saw from elsewhere that you had recommended Reflect for direct light and Blinn for indirect (or maybe I have those backward ... would have to look up the thread). But obviously I didn't know where to plug them in. I'm not trying to do anything weird. Just get some decently realistic specular while maintaining the colour variation.

Thanks for the info about strand width. It's weird how little assumptions appear out of the blue. I have no idea why I associated that with MSR.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Mon, 04 August 2014 at 3:45 PM

It occurs to me that I have been reading the whole node system pretty much backward. I always see it as working its way outward, but the iconology should have told me that it's the reverse. You're pretty much starting from the far end of the chain, yes?

Not that it helps me a whole lot with some of this stuff ... I don't have an advanced math bone (or node) in my body.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


aRtBee ( ) posted Mon, 04 August 2014 at 4:09 PM

hair thickness is in mm, see http://www.book.artbeeweb.nl/?p=518 (halfway) for details

- - - - - 

Usually I'm wrong. But to be effective and efficient, I don't need to be correct or accurate.

visit www.aRtBeeWeb.nl (works) or Missing Manuals (tutorials & reviews) - both need an update though


Believable3D ( ) posted Tue, 05 August 2014 at 4:39 PM

file_506362.jpg

Well, I went back more in the direction of simplification. This isn't a whole lot different than a shader dadt posted a while back, although the particular colours etc came from my own judgment. I'm very happy with this on a materials level, which is what I was after here. The styling itself isn't very good (still not my forte), and the render could be improved in other ways (hair should have a bit lower density, and the render settings should definitely have more pixel samples—this is set at 6; and IDL, which is in the 50 range, should also be higher quality).

Still, pretty happy with this.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Tue, 05 August 2014 at 4:43 PM

file_506363.jpg

Like I said, super simple.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Tue, 05 August 2014 at 6:14 PM

Just posted an improved render in my gallery. http://www.renderosity.com/mod/gallery/index.php?image_id=2554333 Could probably go with a bit less density still, but I lowered both density and strand widths and cranked the render settings considerably higher.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Believable3D ( ) posted Tue, 05 August 2014 at 7:33 PM

file_506368.jpg

Brunette version, more suitable to the character's eyebrows....

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


rokket ( ) posted Tue, 05 August 2014 at 9:22 PM

I like the brunette version. Her hair looks like she is in a Pantene shampoo commercial. Soft and shiny. Nice work.

If I had a nickle for ever time a woman told me to get lost, I could buy Manhattan.


bagginsbill ( ) posted Tue, 05 August 2014 at 9:25 PM

The material looks good to me. As you say, the styling is the bugaboo. I have no complaints as I've failed to style a single acceptable hair myself.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Believable3D ( ) posted Tue, 05 August 2014 at 10:09 PM

file_506371.jpg

Thanks, guys. I still think that there's subtle reflection & spec that could improve this, but it's beyond not only my understanding of the material room but probably also the rendering power of my computer.

Here's a lighter blonde. I also did a more golden blonde, but it's not as realistic IMO. To be honest, I think most people assume that hair is more saturated than it really is in most cases.

______________

Hardware: AMD Ryzen 9 3900X/MSI MAG570 Tomahawk X570/Zotac Geforce GTX 1650 Super 4GB/32GB OLOy RAM

Software: Windows 10 Professional/Poser Pro 11/Photoshop/Postworkshop 3


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.