Houdini 20.0 Materials

Material exports

How to export extra information from the shader and save it as part of the rendered image.

On this page

Overview

When rendering to “deep pixel” image formats that can store extra image information besides just color, mantra can save useful information about each pixel.

The mantra renderer can output most of the extra image information you might want for compositing by default. Individual materials export component information that mantra will composite together to produce a final image plane (such as diffuse color). Materials can even export arbitrary per-pixel data to extra image planes for special use-cases.

Default mantra exports

Mantra can save practically all the extra information you might need for compositing and relighting, such as separate color components (diffuse color, reflection color, and so on) and the rendered geometry’s position, depth, and normal at each pixel.

To enable extra image planes in the output image, use the checkboxes on the Images ▸ Extra image planes tab on the Mantra render node.

You can check the extra planes in a Houdini image viewer by opening the top toolbar and using the plane pop-up menu to view different image planes.

Understanding components

To generate its component image planes, such as diffuse and reflect, mantra composites together the component exports of the materials involved, based on the component name.

For example, the Principled shader VOP has an export named diffuse (among others) containing the diffuse color component (separate from any reflective component). The mantra render node's Export components parameter (on the Images ▸ Extra image planes tab) controls which named component exports it gathers from the rendered materials and exports as extra image planes, including diffuse.

Note that you have to turn on export categories such as Direct lighting and Indirect lighting on the Extra image planes tab to have mantra actually generate the extra image planes. By default it does not add this information to the output image.

The shader VOPs generate the appropriate component exports by default, so to get the generally useful exports, all you have to do is turn on the appropriate checkboxes on the Extra image planes tab.

For some special use cases, however, you might want to generate, for example, a separate set of the diffuse and reflective planes for special compositing of certain parts of the scene (for example, ghostly characters). You can change the name of the component using the Component label parameter on the node that generates the BSDF, such as PBR Diffuse or PBR Reflection. For example, you can change diffuse to ghost_diffuse. Then add the extra names to the space separated list of components in the Export components parameter (and remember to turn on the lighting exports with the checkboxes).

Arbitrary exports

If, for some reason, you want to output arbitrary (non-shaded) per-pixel information from your material to the output image, you can create your own export in the material and tell mantra to output an extra image plane for it.

  1. In your material network, add a Bind Export VOP. Set its Name to some descriptive value, and wire in the value you want to export.

  2. On the mantra render node, click the Images ▸ Extra image planes sub-tab. Use the Extra image planes multi-parm to add an extra plane for your export. Set the VEX variable to the name you used in the Bind Export node, and set the Channel name to the name to use for the extra plane in the output image.

Materials

Using materials

Textures and UVs

Creating materials

Guru level

Other renderers