Every node that appears in the render tree is color coded to identify it as a member of a particular shader family. A shader family indicates how a shader can be used in a render tree. Different shader families enforce different connection restrictions. For information, see .
The most frequently used shaders can be quickly and easily accessed from where they are divided into several different categories to help you identify the type of effects or tasks you can achieve with them.
The actual preset files for all shaders available in the library (including those that are installed for compatibility with older scenes) are stored in numerous sub-directories under the <install directory>/DSPresets/Shaders folder.
The parameters of a shader are edited through its property editor (see ). 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 .
Surface shaders are one of the most important types of shaders. They determine the basic color of a geometric object. Surface shaders are also responsible for casting reflected, refracted, and transparency rays. For more information on surface shaders and how they are used, see .
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.
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 .
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.
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.
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 [ ].
Shaders in the Processing category are tools that let you extend and manipulate the data in your render trees. Although some of these 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:
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 .
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. Environment shaders can also be used to light a scene with a high dynamic range image, see [ ].
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 .
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.
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 .
Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License