rokket opened this issue on Apr 30, 2011 · 260 posts
bagginsbill posted Thu, 12 May 2011 at 10:06 PM
You know you two are arguing about two completely different jobs that shaders have as if they are the same topic.
Vintorix is right, you generally cannot reproduce every feature of real-world patterns in procedural shaders. Some things, like granite, some wood grains, leather, yes, but in general, no. The pattern of denim - yes - the pattern of the pockets and zippers and rivets and seams - hell no.
But the color and bump patterns of procedural shaders are only half the battle. The other half, the part I actually think about and publish all the time, is how the material reacts to light. How the material reflects the light sources and the other objects in the scene.
This is what Robyn is talking about, and Vintorix is either wrong or not understanding that.
The shaders I talk about for Poser (piles of nodes for Fresnel, fake SSS, etc.) are non-existent in the high-end workflow of the expensive apps (or even the free ones), because the accurate response to light IS BUILT INTO THE APPLICATION.
Poser has ZERO accurate reflection models in its basic shader. Nothing whatsoever is based on reality. So to get realism in Poser, with regard NOT to the PATTERNS, but to the response to light, how it reflects, you must deal with shaders of some non-trivial complexity.
Technically, these are not "procedural" shaders, even though the calculation of the response to light is a procedure of some kind. Rather, the adjective "procedural" is short hand for "I made the pattern of color and/or bump that you see using math".
For example, you may have a wood grain pattern that you got from a photo, or you may have done it with procedural math. The photo pattern will probably be more interesting visually. But in either case, you must use a realistic Fresnel reflection, taking into account the right amount of blur, with conservation of energy, or it will not look like real wood, even if it's a photo of wood!
Water is one of the things that can be convincingly produced via procedural tactics. In fact, all the giant waves in the movie "The Perfect Storm" were 100% procedural.
Now if you're talking about water on pavement, give me a photo of dry pavement, and I will demonstrate how to make it look wet, using a shader. Or I can procedurally generate the pavement, and then apply a dry or wet shader to it.
I'm a big fan of image-based shaders. I'm fond of creating interesting patterns with math, but I do not promote that at all. (My avatar, the Koi fish skin color pattern and scales, is 100% procedural.) People get confused because I show those things as amusements, and I do so as shaders because that's how you do it. But really the pattern generator, and the response to light simulator, are separate and distinct processes. They happen to both live in the material room but that's in no way suggesting that it makes any sense to conflate those things in an argument.
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)