Lead Texture Artists
Layered Shading in Renderman 22
Layered shading in CGI is common practice when you want to go from one surface property to another. For example, if you have a metal object that was painted and also covered with dirt, in a traditional monolithic shader approach you would paint all surface properties in sync. If the object was painted in metal you would most likely have scratches in places and the maps would have to change both diffuse and specular as well as reflectivity maps or settings for IOR. When creating the same effect with a layered shader you can be more free by creating the materials but use masks to reveal where the effect takes place. Instead of exporting all of the maps again if you changed where the metal was scratched you will only export one mask. It’s also much easier to create variants by reusing some of the layers but changing others. Perhaps you want to reuse the dirt layer but change the color of a car as an example.
“Layering shaders is fun using Renderman 22”
Layering pxrLayer System
The Renderman layer shader is powerful and robust. It has the same settings as the all-purpose pxrSurface but with a few differences. The general shader settings live outside each material layer and is set in the main node. This would be settings like Reflectivity modes artistic or physical. The limitation is once you change mode here the upstream layers will also inherit these settings. There is a shortcut in the main Renderman shelf that assigns a layered shader to the selected object. This will set up a simple layer network with all nodes needed to blend two materials. You can, of course, add more layers to this network as you see fit. I guess the most common scenario would be what I mentioned earlier re a metal and a painted metal with a dirt layer on top.
Let’s look at how we can utilize this method in Renderman for Maya.
When do you use a layer shader and when do you use a monolithic approach? Layering shaders have traditionally been a bit more expensive for shading and render time as the render engine has to compute more networks and handle more transparency operations. You will need to make a call whether it’s worth investing more time in texturing to have all textures in sync for the effect to simplify it by layering? Also effects, like revealing one material beneath another it makes more sense to do it with a layered approach. You would export one animated mask instead of all masks. And its also a lot easier to change when the director changes his or her mind about things.
“Want me to cover something specific? Leave your comments below or use #askmeshmen on twitter ”