Houdini 20.5 Nodes Shader nodes

Material shader builder shader node

A higher-level shader that can contain one or more sub-shaders, such as surface shaders, displacement shaders, and property shaders for RenderMan.

On this page
Since 11.0

Overview

The RSL Material node is a container for other shader types, which allows you to package up combinations of lower-level shaders (such as surface shaders and displacement shaders) with individual settings into a new look you can assign as a single unit.

The gallery of materials in the Material Palette are all customized examples of the Material shader.

For more information, see the help for the gallery materials that ship with Houdini.

Creating and editing materials

You can promote parameters from contained shaders onto the material through Houdini’s parameter editing interface. This allows you to create a material with a custom interface, where you can manipulate some of the underlying parameters while others are kept hidden.

To...Do this

Create a new Material from scratch

In the network editor, go to the /shop level and create a Material node, then double-click the node to go inside. Create and edit shader nodes inside the material and connect them to the special suboutput node.

Click the Material Palette pane. Drag one of the materials from the gallery (on the left) into the list of shaders in the scene (on the right). Then you can edit the material’s settings, edit the shaders inside, or edit its interface.

For more information, see the Material Palette help.

Promote parameters from contained shaders onto the Material node

In the material’s parameter editor, click the Gear icon and choose Edit parameter interface. In the Create parameters column, click the From nodes tab, then drag parameters from shaders inside the material into the Existing parameters list to promote them.

For more informatn, see the parameter editing window help.

Override a material’s settings per-object or per-primitive

See rendering properties.

Tip

Time is the motion blur shutter time for the shader execution, which is a value between 0 to 1 for shader motion blur (it is not the same as $T). Time is initialized to 0 for micropolygon rendering, since all shading occurs at the start of the frame. To use Time for motion blur calculations, you will need to render with the ray tracing engine which executes shaders once for every pixel sample.

Shader nodes