A general 'all-purpose' utility node shader that can be used to create passes for use within a compositing package. It can also be useful for debugging scenes.
The shading mode used to render the mesh. 'Ndoteye' renders using the eye vector mode. 'Lambert' renders using a simple Lambertian shading model. 'Flat' renders the model as a pure, solid, flatly lit and shaded color. 'Ambocc' renders the model using an ambient occlusion technique.
Ndoteye: Uses a dot product between the Normal and the Eye vector.
Lambert: Uses a Lambertian shading model.
Flat: Renders the model as a pure, solid flatly lit and shaded color.
Ambocc: Renders the model using an ambient occlusion technique. Ambient Occlusion has a distance parameter (AO Distance) to control the length of ambocc rays for scenes where the default of 100 units is too short.
Plastic: Has both diffuse (0.7) and specular (0.1) components. The specular component is hardcoded to a Cook-Torrance BRDF with MIS support. This mode can be helpful when debugging and optimizing glossy materials, as it can be quickly assigned to all objects in the scene with the simple kick commands: -is -sm plastic.
Metal: Similar in use to plastic shade mode, but without the diffuse component (specular only).
A tutorial about using the Utility shader's Object ID Color Mode can be found here.
The mode used to color the mesh. You can either choose a flat color as specified by the color setting, or the output color can be chosen to represent various things such as the geometry normal, the shading normal, a wireframe view, etc.
Bad UVs: Returns magenta in the UV's of the primitive that are degenerated.
Barycentric Coords: Barycentric coordinates (bu corresponds to red and bv to green) of the primitive.
Utility shader ('bary') connected to specular roughness of a Standard shader
Bump Difference: This mode shows how far the bump and autobump normals vary from the base smooth-shaded normals as a heatmap (blue is the same, going through green to red, varying up to 90 degrees away). This is useful for debugging the balance between subdivision iterations with displacement vs autobump making up for the rest.
Color: Single color output.
Edge Length: Shows the edge length of the primitive as a heatmap. This visualization is useful for detecting over-tessellated objects.
Floatgrid: A color is mapped around a Hash function based on the Shading Point.
Geometric Normal: Shader normals in world space.
Normal: Geometry normals in world space.
Number of lights: Shows the relative number of lights considered at the shading point, which is helpful when debugging scenes with many lights. This is visualized with a 'heatmap' color gradient that goes from red (all lights in the scene are considered), passing through yellow and green, to blue (very few lights are considered) and finally black (no lights considered). A Utility shader is assigned to the geometry below with Color Mode set to Number of Lights. It is recommended to use the Flat Shade Mode.
The colors become warmer as the moving light approaches the center, indicating light contribution in the scene
The Utility shader's nlights color mode can be used to see how many lights are influencing a shading point when adjusting the low_light_threshold.
low_light_threshold: 0 to 1. Red = all lights, blue = low values, black = no lights.
Object: Object mode uses the name of the shapes to compute the color.
Color mode set to Object
Object ID: Commonly used when outputting a render per material. ID mode uses the ID parameter shapes have to compute the color. To change the ID, select the mesh and type 'id 1,2,3, etc. ' in the User Options of the object.
Polygon Wireframe: Renders a polygon wireframe of the mesh.
Primitive ID: Each primitive ID is represented as a different color.
Reflection Lines: This can be used to diagnose contour lines and spot continuity problems when evaluating models. It can also give you an idea of how real-life reflections would behave. This sort of shading is especially useful when modeling cars for example, where surface evaluation is critical.
reflection_lines reveals continuity error in hood of car geo (rollover image)
Shading Point (Relative to BBox): Shading point, relative to the Bounding Box.
Shading Point (Relative to BBox)
Subdivision Pixel Error: Shows as a heatmap mode, the edge length of the primitive based on how well the polygon matches the subdiv_pixel_error (only visible when adaptive subdivision is enabled for the mesh).
Triangle Wireframe: Renders a triangulated wireframe of the mesh.
U Coords: U coordinate mapped to the red, green, and blue channels.
Un-bumped Normal: Smooth un-bumped normals in screen space.
Uniform ID: Allows you to color by patch instead of by polygon and by curve instead o the curve segment.
Polygon faces and curves are colored individually using Uniform ID (rollover image).
U Surface Derivative (dPdu): Surface derivative with respect to u coordinate.
U Surface Derivative (dPdu)
UV Coords: UV coordinates (u corresponds to red and v to green) of the primitive.
V Coords: V coordinate mapped to the red, green, and blue channels.
V Surface Derivative (dPdv): Surface derivative with respect to v coordinate.
V Surface Derivative (dPdv)
This allows you to overlay a wireframe on top of the regular color and shading modes.
The color used as the shading mode for the model.
The maximum occlusion distance that is sampled.
Controls the glossiness of the specular reflections. The lower the value, the sharper the reflection. In the limit, a value of 0 will give you a perfectly sharp mirror reflection, while 1.0 will create reflections that are close to a diffuse reflection. You should connect a map here to get variation in the specular highlight.
Outputs a normal vector that can be linked to normal parameters in