Houdini 21.0 Nodes VOP nodes

MtlX OpenPBR Surface VOP node

A physically-based uber-shader.

On this page
Since 21.0

OpenPBR Surface is a modern physically-based shading model. It is an evolution from MaterialX Standard Surface, and other recent physically-based shading implementations. OpenPBR Surface is designed for flexibility, and faithful representations of a wide variety of materials. It does so by mixing and layering features, which can be be dialed in creatively by artists using textures and noises.

OpenPBR Surface; this version is based on v1.1 of the spec.

Materials built using OpenPBR Surface tend to heavily focus on one of these five types of appearances:

Glossy-Diffuse

Generally opaque, non-metal surfaces, largely driven by albedo color and glossiness. These include stone, wood, and even plastics. Non-conductors are referred to as dielectrics.

Metal

Metallic looks representing alloys and conductors like gold, iron, and bronze. These are conductors, or non-dielectrics.

Transmission

Clear, usually refractive materials like glass and liquids. These can also be referred to as dielectrics, because they are non-metallic. Transmissive materials marked as thin-walled disable refraction, making it useful for architectural glass.

Subsurface

Organic somewhat volumetric materials including candy, skin, and wax. Also considered a dielectric/non-conductor. Subsurface materials marked as thin-walled are useful for translucent objects such as leaves or paper.

Emission

Incandescent or glowing surfaces. Emission can be layered on top of other material properties. Scenes that rely entirely on emissive materials will need to mark these objects as Geometry Lights.

Two additional properties can be layered on top of any of the previously mentioned slabs (here they are layered on top of metal):

Coat (Metal)

An additional specular layer, useful to add additional gloss or wetness to a look. OpenPBR Surface also darkens the underlying layers.

Fuzz (Metal)

The top-most slab, fuzz adds a layer of micro-fiber reflections like dust, peach fuzz, or strands of clothing.

OpenPBR Surface also has properties that affect geometry, offering more ways to control an object’s appearance.

Opacity

Opacity maps cut-out the geometry. With path-tracers like Karma opacity maps can negatively impact performance, even when the map is a single-value.

Thin-Walled (Transmission)

Thin-walled transmission produces only specular transmission, without any refraction.

Thin-Walled (Subsurface)

Thin-walled subsurface produces only diffuse transmission, without any random-walk scattering.

These elements provide artists with a dizzying number of possible looks and appearances. The OpenPBR Surface spec has more technical details about the shading model.

Tips

  • KarmaCPU and KarmaXPU produce nearly identical looks with OpenPBR (as one would expect). However, as usually it’s good to remember these engines are not intended or expected to produce matching, pixel-for-pixel results.

  • MtlX OpenPBR Surface to Standard Surface can be used to adapt parameters from Standard Surface to OpenPBR Surface.

  • Houdini VK represents most parameters correctly, except subsurface, some metalness/transmission features, and thin-walled geometry.

  • Rotating specular anisotropy is different from Standard Surface. With OpenPBR Surface you must perturb the geometry_tangent directly, to get appearances such as brush metal.

  • In this version of OpenPBR Surface, adjusting specular_weight scales specular_ior. This may change in the future, so for now it is recommended users scale specular_color to simply adjust the specular presence.

Parameters

Base

Base Weight

Multiplier on the intensity of the reflection from the diffuse and metallic base.

Base Color

Color of the reflection from the diffuse and metallic base.

Base Diffuse Roughness

Roughness of the diffuse reflection. Higher values cause the surface to appear flatter.

Base Metalness

Specifies how metallic the base material appears (dials the base from pure non-metallic to pure metal).

Specular

Specular Weight

Multiplies the specular reflectivity, and adjusts specular_ior as well. Use specular_color if you want to avoid altering any IOR.

Glossy-Diffuse Specular Weight
Metallic Specular Weight

Specular Color

Color of the specular reflection (controls the physical edge-tint for metals, and a non-physical overall tint for non-metallics).

Glossy-Diffuse Specular Color
Metallic Specular Color

Specular Roughness

The roughness of the specular reflection. Lower numbers produce sharper reflections, higher numbers produce blurrier reflections.

Glossy-Diffuse Specular Roughness
Metallic Specular Roughness
Transmission Specular Roughness

Specular Index of Refraction

Index of refraction determines how reflections bounce back to the camera from the non-metallic base. Specular IOR also determines how light bends and refracts through transmissive materials.

Glossy-Diffuse Specular IOR
Metallic Specular IOR
Transmission Specular IOR

Specular Anisotropy

The directional bias of the roughness of the metal/non-metallic base, resulting in increasingly stretched highlights along the tangent direction.

Glossy-Diffuse Specular Roughness Anisotropy
Metallic Specular Roughness Anisotropy
Transmission

Transmission Weight

Mixture weight between the transparent and opaque non-metallic base. The greater the value the more transparent the material.

Transmission Color

Controls color of the transparent base due to Beer’s law volumetric absorption under the surface (reverts to a non-physical tint when transmission_depth is zero).

Transmission Depth

Specifies the distance light travels inside the transparent base before it becomes exactly the transmission_color according to Beer’s law.

Transmission Dispersion Scale

Linearly scales the amount of dispersion.

Transmission Dispersion Abbe Number

Physical Abbe number of the non-metallic medium, describing how much the non-metallic index of refraction varies across wavelengths. Scenes may demand much smaller numbers when rendering with Karma, depending on the size of different features.

Transmission Scatter

Controls the color of light volumetrically scattered inside the transparent base. Suitable for materials with visually significant scattering such as honey, fruit juice, murky water, opalescent glass, or milky glass.

Not Supported by Karma.

Transmission Anisotropy

The amount of directional bias, or anisotropy, of the volumetric scattering in the transparent base.

Not Supported by Karma.

Subsurface

Subsurface Weight

Mixture weight which dials the opaque non-metallic base between diffuse reflection and subsurface scattering. A value of 1.0 indicates full subsurface scattering and a value 0 for diffuse reflection only.

Subsurface Color

The observed reflection color of the subsurface scattering medium.

Subsurface Radius

Length scale of the subsurface scattering mean free path.

Subsurface Radius Scale

RGB multiplier to subsurface_radius, giving the per-channel scattering mean-free-paths.

Subsurface Anisotropy

Controls the phase-function of subsurface scattering, where zero scatters light evenly, positive values scatter forwards, and negative values scatter backwards.

Fuzz

Fuzz Weight

The presence weight of a fuzz layer that can be used to approximate microfibers, for fabrics such as velvet and satin as well as dust grains.

Fuzz Color

The color of the fuzz layer.

Fuzz Roughness

The roughness of the fuzz layer.

Coat

Coat Weight

The presence weight of a reflective clear-coat layer on top of the material. Use for materials such as car paint or an oily layer.

Coat Color

The color of the clear-coat layer’s transparency, due to absorption in the coat.

Coat Roughness

The roughness of the clear-coat reflections. The lower the value, the sharper the reflection.

Coat Anisotropy

The directional bias of the roughness of the clear-coat layer, resulting in increasingly stretched highlights along the coat tangent direction.

Coat Index of Refraction

Index of refraction determines how reflections bounce back to the camera from the clear-coat layer.

Coat Darkening

Modulates the physical coat darkening effect.

Glossy-Diffuse Coat Darkening
Metallic Coat Darkening
Thin Film

Thin Film Weight

Coverage weight of the thin-film. Use for materials such as multi-tone car paint or soap bubbles.

Thin Film Thickness

The thickness of the thin-film layer on the base (in micrometers).

Glossy-Diffuse Thin Film Thickness
Metallic Thin Film Thickness

Thin Film Index of Refraction

Thin Film Index of refraction determines how light interacts with the thin film layer on a surface, affecting the multi-tone color reflected back to the camera.

Emission

Emission Luminance

The amount of emitted light, as a luminance in nits.

Emission Color

The color of the emitted light.

Geometry

Opacity

The opacity of the entire material.

Thin Walled

Makes the surface double-sided, representing an infinitesimally thin shell. Suitable for extremely geometrically thin objects such as leaves or paper (with sub-surface scattering), or refractionless glass (when combined with transmission).

When combined with Transmission Weight, refraction is disabled and only Transmission Color and Specular Roughness affect thin walled transmission.

When combined with Subsurface Weight, only Subsurface Color affects thin walled subsurface scattering, and does simpler diffuse transmission instead of random-walk SSS.

Normal

Inputs geometric normal. Auto-binds to surface normals in world space.

Coat Normal

Input normal for coat layer. Auto-binds to surface normals in world space.

Tangent

Input geometric tangent. Auto-binds to surface tangents in world space.

You can rotate the tangents on rough, anisotropic metals, to get metallic brushed looks.

Coat Tangent

Input geometric tangent for coat layer. Auto-binds to surface tangents in world space.

You can rotate the tangents on rough, anisotropic metals, to get metallic brushed looks.

See also

VOP nodes