The Shader Library

Shaders are divided into several different categories, based on how they are used in a render tree. The most frequently used shaders can be quickly and easily accessed from The Preset Manager [Interface and Tools]. Shaders are also accessible from an explorer view or the Nodes menu in the render tree view.

The actual preset files for all shaders available in the library are stored in numerous sub-directories under the <install directory>/DSPresets/Shaders folder.

A shader is edited through its property editor (see Editing Shaders). Detailed descriptions of the parameters for each shader can be found by clicking the ? icon in the shader’s property editor or searching for the shader by name in the Shader Reference.

Surface Shaders

Surface shaders are one of the most important types of shaders. All geometric objects in a scene have an associated surface shader, even if it is only the default shader of a scene. Surface shaders determine the basic color of an object, possibly in conjunction with volume, environment, shadow, texture, displacement, and contour shaders.

Surface shaders are also responsible for casting reflected, refracted, and transparency rays. For more information on surface shaders and how they are used, see About Surface Shaders.

 

Texture Shaders

2D texture shaders apply a two-dimensional texture onto an object, just as 3D texture shaders implement a three-dimensional texture into an object. They are used by a surface shader when an object has a defined texture.

Texture shaders also include the necessary shaders to create bump maps. For more information on texturing concepts, see What’s in a Texture? [Texturing].

 

Realtime Shaders

Realtime shaders allow you to build and control the multipass realtime rendering pipeline, using the render tree. You can connect these shaders together to achieve a multitude of sophisticated rendering effects, from basic surface shading to complex texture blending and reflection. For more information, see Realtime Shaders.

 

Light Shaders

Light shaders implement the characteristics of a light source. For example, a spotlight shader uses the illumination direction to attenuate the amount of light emitted. A light shader is used whenever a surface shader uses a built-in function to evaluate a light.

If shadows are used, light shaders normally cast shadow rays to detect obscuring objects between the light source and the illuminated point. For information about lights in general, see Lights and Shadows [Lights and Cameras].

 

Lens Shaders

Lens shaders are used when a primary ray is cast by the camera. They may modify the ray’s origin and direction to implement cameras other than the standard pinhole camera and they may modify the result of the primary ray to implement effects such as lens flares or a cartoon effect.

For the available lens shaders in the library, see Lens Shaders [Shader Reference].

For more information on working with cameras, see Cameras [Lights and Cameras].

 

Volume Shaders

Volume shaders modify rays as they pass through an object (local volume shader) or the scene as a whole (global volume shader). They can simulate effects such as clouds, smoke, and fog.

For the available volume shaders in the library, see Volume Shaders [Shader Reference].

For more information on how to apply volume shaders, see Creating a Volume Effect in a Scene [Lights and Cameras].

 

Toon Shaders

Toon shaders apply non-photorealistic or cartoon style effects to objects. They control cel-animation type properties like inking and painting. To get a full toon effect, it’s best to use the toon material shaders in conjunction with the toon lens shaders. For more information, see Toon Shading.

 

Output Shaders

Output shaders operate on images after they are rendered but before they are written to a file. They can perform operations such as filtering, blurring, compositing with other files, and writing to different file formats.

For the available output shaders in the library, see Output Shaders [Shader Reference].

 

Tool Shaders

Tool shaders let you extend and manipulate the data in your render trees. Although some tool shaders can be used on their own, many of them must work in conjunction with another to achieve a highly customized effect. They each have a specialized function:

Color Channels manipulate red, green, blue, and alpha components of a color. See Texture - Color Channels Shaders [Shader Reference].

Conversion changes one value to another. Especially useful for changing a scalar-type node to a color one. Scalar, color, vector, Boolean, and integer nodes can be converted to any other type of output using these tools. See Texture - Conversion Shaders [Shader Reference].

Image Processing defines, manipulates, and tweaks color and scalar values. See Texture - Image Processing Shaders [Shader Reference].

Map Lookup extracts weight, texture or vertex maps so they can be used with blend, mix, or share shaders to drive other shader parameters. See Texture - Map Lookup Shaders [Shader Reference].

Math performs math functions such as interpolation, multiplications, additions, and exponential functions. See Texture - Math Shaders [Shader Reference].

Mixers uses one or several equations to mix a few or several colors or textures into a single color output. See Texture - Mixers Shaders [Shader Reference].

Share coordinates the sharing of a single value among several others. See Texture - Share Shaders [Shader Reference].

Switch changes an object’s color based on location, angle of view, or another specified value. See Texture - Switch Shaders [Shader Reference].

Shadow Shaders

Shadow shaders determine how the light coming from a light source is altered when it is obstructed by an object. They are used to define the way an object’s shadow is cast, such as its opacity and color.

Shadow shaders are used instead of surface shaders when a shadow ray intersects with an object. Shadow rays are cast by light sources to determine the visibility of an illuminated object. Shadow shaders are basically “lightweight” surface shaders that calculate the transmitted color of an object without casting secondary or shadow rays.

For information about creating shadows, see Creating Shadows[Lights and Cameras].

Photon Shaders

Photon shaders are used for global illumination and caustics. They process light to determine how it floods the scene. Photon rays are cast from light sources rather than from a camera. For information, see Global Illumination and Caustics [Indirect Illumination].

 

Environment Shaders

Environment shaders are used instead of surface shaders when a visible ray leaves the scene entirely without intersecting an object or when the maximum ray depth is reached. For example, an environment shader might evaluate a texture mapped on an imaginary infinite sphere enclosing the scene.

For the available environment shaders in the library, see Environment Shaders [Shader Reference].

For more information on environment shaders in general, see Using Environment Map Shaders [Texturing].

Environment shaders can also be used to light a scene with a high dynamic range image, see Using Environment Maps to Light a Scene [Texturing].

Displacement Shaders

Displacement shaders alter an object’s surface by displacing its points. The resulting bumps are visibly raised and can cast shadows.

For information about setting displacement properties, see Geometry Approximation [Rendering].

Lightmap Shaders

Lightmap shaders are used to sample object surfaces and store the result in a file that can be used later. For example, you can use a lightmap shader to bake a complex material into a single texture file. Lightmaps are also used by the Fast Subsurface Scattering and Fast Skin shaders to store information about scattered light.

For the available lightmap shaders in the library, see Lightmap Shaders [Shader Reference].

For information about working with lightmaps, see Lightmaps[Texturing].

Material Phenomena

Material phenomena are predefined combinations of shaders, usually designed to create complex rendering effects, that are packaged as single shader nodes. Connecting a material phenomenon to an object’s material prevents the material from accepting any other shaders directly, though you can extend the phenomenon’s effect by driving its parameters with other shaders.

The Fast Subsurface Scattering and Fast Skin shaders are examples of material phenomena. For more information about these shaders, see Fast Subsurface Scattering [Lights and Cameras].

 

Geometry Shaders

Geometry shaders are evaluated before rendering starts. This allows the shader to introduce procedural geometry into the scene. For example, a geometry shader might be used to create feathers on a bird or leaves on a tree. For more information, see Geometry Shaders.



Autodesk Softimage v.7.5