Forum: Poser - OFFICIAL


Subject: shaders and nodes overkill?

onnetz opened this issue on Jun 11, 2007 · 61 posts


bagginsbill posted Tue, 12 June 2007 at 4:42 PM

*Are we to infer that **more nodes** = **greater realism**?  *No not at all. But I'm specifically responding to your use of the EQUALS.

If you're doing skin, and you include ZERO specular type nodes, then adding one will produce greater realism. Adding another one might, if you use it right (I always use 2).

Adding a third might be necessary but you're beyond the noticeable improvement. Certainly adding four or more will not improve realism.

I made this picture the other day, explaining how a shader is an approximation. You can NEVER take into account every realistic effect. However, if the effect you're trying to produce is one that follows that BLACK curve, then the RED (one node) or GREEN (one node) straight lines are fine if all the shaders points in your scene are being asked to operate in the range that is where the RED line is close to the black curve, or the green line is close to the black curve. 

But what if BOTH conditions occur in your scene - i.e. tremendous variation in light reaching the surface. Then you need more than one node. You'd at least have to do a quadratic formula to get closer to that black curve, and that would require two nodes. But what if the realism was still not good enough - you may need 10 or 12 nodes to produce that response curve in your shader.

Clever use of the more complex nodes can reduce the node count. For example, in my Ultra Basic Skin Shader I found a way to abuse Specular and Diffuse, in conjunction with a Blender and a Subtract, to do a pretty good subsurface scattering effect. Is it as good as the 20 node version face_off uses? Nope - not as good.

But that was the point of UBSS - if 20 nodes makes your head hurt, use this 4 node version. And suffer the small loss in realism, of course.

Now when I made UBSS, I was specifically trying to get it to work in a broad range of circumstances. With or without IBL, with only white lights, or colored ones too, only on red skin or how about alien green or blue? The fewer constraints you put on the solution, the more complex it has to be.

Now you have to understand that in order to discover a 4-node solution that works "pretty good" for most scenarios, it took me over 1000 hours of experimenting in the material room. Now of course each render I do with UBSS probably saves 15 to 60 seconds (at very high render settings) per render. Let me see, did I save myself any time? 1000 hours at roughly 30 seconds saved per render means I need to do 120,000 renders before I break even. WHAT?!? So, my point is, it was utterly stupid for me to try to find the smallest number of nodes in a skin shader, IN ORDER TO SAVE TIME. It didn't save me any time at all. And, lest you think I am stupid, that was not why I did it. I studied skin shaders day after day after day (not just my own, BTW) so that I could puzzle out THE ESSENCE of the shaders job. As a result, I know way more about how skin works, and I also know way more about how to use the material room. So I'm not unhappy.

And the rest of you can enjoy the very fast and "good enough" UBSS, which in its simplest form is only 4 nodes. But I prefer the somewhat better version that includes freckles, moles, etc.

Consider: My latest shader (almost ready to share) is my Apollo Maximus skin shader. There are 5 versions - some with freckles, some without, some with moles, etc. Depending on what you ask it to do, it will make anywhere from 4 to 15 nodes. Do you choose based on node count? NO! Choose based on features. Do you choose based on 15 seconds versus 30 seconds? NO! Choose based on the effect you want.


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)