Short Contents

3.1 The Shader Assignment Panel

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.

The Shader Assignment Panel

Figure 3.1: The Shader Assignment Panel


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:

  1. 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.
  2. 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.
  3. If the object has a RenderMan shader specified in Object Shaders, use it.
  4. 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:

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:

3Delight 8.5. Copyright 2000-2009 The 3Delight Team. All Rights Reserved.