Adding and Assigning Materials
A material is a scene graph location that holds one or more shaders. Shaders define how an object, such as a piece of geometry or a light, or - in the case of an Atmosphere shader - a volume, interacts within a renderer to create an image.
The most common types of materials are:
• light materials (complete with a light shader), which are assigned to light locations to illuminate a scene, and
• geometry materials (with surface shaders and possibly displacement or bump shaders), which are assigned to 3D geometry and particles.
The process of creating a basic material is broken down into two stages (although this can be done with one node):
1. | Create the scene graph material location to hold the shaders. |
2. | Add the shaders to that location. |
You can assign one material to multiple lights or pieces of geometry. To define this relationship between a material and its objects, use a MaterialAssign node.
An object with a material assigned keeps a reference to its material on the materialAssign attribute. The material is actually copied to the object’s location either at render time, or at a MaterialResolve node.
At render time, a number of resolvers are applied automatically. These resolvers perform just-in-time resolving of certain operations that are usually best done at the last minute. These resolvers are called implicit resolvers. This method allows data to remain at a higher level for longer. For more details, see Turning on Implicit Resolvers.
Note: Katana is a renderer agnostic application, and the shader types available depend upon the renderer plug-ins and how they locate their shader libraries.