3.1 The Shader Assignment Panel
| 3.1.1 Shader Assignment Panel Overview | ||
| 3.1.2 Shader Collections | ||
| 3.1.3 Shader Assignment Panel Components |
3.1.1 Shader Assignment Panel Overview
The shader assignment panel is a central piece of UI in 3Delight For Maya. It is not only intended to assign RenderMan shaders to objects, but also to assign attribute nodes and provide a convenient feedback about assignments: selecting a Maya object updates the panel's content to show current assignments. It is recommended to "dock" the panel alongside your main Maya view.
|
This panel also exposes a fundamental design in 3Delight For Maya: shader collections.
3.1.2 Shader Collections
Shader collections is a context sensitive shader assignment strategy, the context being defined by a render pass. When 3Delight For Maya sends an object for rendering, it goes through the following steps to decide what shader use:
- If the rendered pass has a shader collection specified in Render Set (see section Render Sets) and the collection has a RenderMan shader specified in Override Shaders, use it.
- If the render pass has a shader collection specified in Render Set and the object has a RenderMan shader specified in Collection Shaders for the same collection, use it.
- If the object has a RenderMan shader specified in Object Shaders, use it.
- Use Maya's HyperShade network as the shader. This what will happen when rendering a Maya scene that has no passes.
Shader collections are a powerful tool in multi-pass rendering. Say that you have a specular and a diffuse pass, in the specular pass you want to use a Phong shader and in the diffuse pass you want to perform some "ambient occlusion". You can achieve this by following these steps:
- Create two shader collections, one `specular' and one `diffuse'. Collections can be created by clicking on the "texture square" near the Shader Collections line in the assignment panel (first line in the panel, left hand side).
- Create two render passes: one choosing the `specular' collections and the other one choosing the `diffuse' collection in the Render Sets section (see section Render Sets).
- Using the assignment panel, assign a specular shader (such as `metal') to your object in the `specular' collection and attach some ambient occlusion shader in the `diffuse' collection
Rendering the first pass will give you the specular highlights and rendering the second pass gives you the ambient occlusion. This working scheme frees you from writing big shaders with built-in context sensitive code (which often gets messy) and encourages you to write re-usable, simpler shaders.
3.1.3 Shader Assignment Panel Components
Follow additional explanations for each column in the panel:
- Object Shaders
- This is the traditional assignment scheme, as presented in many other packages.
- Collections Override Shaders
- Sets the shader for the given collection.
- Override Shaders
- Override shaders are mainly useful for passes that need the same shader to be attached on all geometry. Say you have an ambient occlusion pass, as in the example above, with all objects having the same shader. Simply declare a collection, assign an ambient occlusion shader to it and select the collection in the Render Sets section of the render pass. No further shader assignment is needed, when rendering the pass all objects will have the ambient occlusion shader automatically attached to them.
Additionally:
- Clicking on the "texture" square near the shader will open the Shader Manager for shader assignment. See The Shader Manager.
- Clicking on AE will show shaders parameter in Maya's attribute editor. Some customization of a given shader's gadgets is possible; see Shader Node Attribute Grouping.
- Attribute Nodes can be created and assigned in this panel, without using the Attribs Node Manager.
- Other shader types (such as atmosphere and interior) can be shown in this panel by enabling them in the Show menu.
3Delight 8.5. Copyright 2000-2009 The 3Delight Team. All Rights Reserved.