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.