Renderman has a way of programing shaders in RSL, by using classes. This allows a displacement shader to be in the same file as the surfacing function and for physically based shaders.
I've been exploring these new shaders within Houdini, because Houdini is more fun than Maya. I found that I had trouble writing my shaders correctly because I did not understand how the renderer, the material and the light were working together to make the surface color.
Plausible Constant
I've been exploring these new shaders within Houdini, because Houdini is more fun than Maya. I found that I had trouble writing my shaders correctly because I did not understand how the renderer, the material and the light were working together to make the surface color.
Plausible Constant
The constant shader is just one constant color across the surface. It never has to access the light and therefore has just one constant color.
Plausible Diffuse
Plausible Diffuse
The plausible diffuse shader adds shading to the surface. It is like a lambert shader in that there is no specular or reflective quality.
The material’s surface() function can be substituted with the diffuselighting() function without too much of a difference. The difference in the rendering can be seen here.
The material’s diffuselighting() function asks the light to generate samples for the diffuse color and the shadow and those are saved as the Ci and outputed by the material.
Plausible Specularity
The material’s surface() function can be substituted with the diffuselighting() function without too much of a difference. The difference in the rendering can be seen here.
The material’s diffuselighting() function asks the light to generate samples for the diffuse color and the shadow and those are saved as the Ci and outputed by the material.
Plausible Specularity
The plausible reflective shader is essentially like a blinn in that you may control the specular highlights and reflectivity of the object. The reflectivity is referred to as “indirect specular”.
The diffuselighting() and specularlighting() functions work by layering their Ci returns on top of each other: diffuse, reflection then specular.
The material actually gathers the sampling information in that order, diffuse, indirect specular and direct specular. This was essential to know in order to separate out the controls for a softer reflection versus specular.
The diffuselighting() and specularlighting() functions work by layering their Ci returns on top of each other: diffuse, reflection then specular.
The material actually gathers the sampling information in that order, diffuse, indirect specular and direct specular. This was essential to know in order to separate out the controls for a softer reflection versus specular.