Houdini 20.0 Nodes VOP nodes

PBR Non-Metallic VOP node

Computes reflections and refractions for dielectric (non-metallic) materials.

Since 17.0

This node computes reflections, refractions or both.

It can be used to build more compplex materials by plugging other BSDF VOPs into its base layer input.


Specular Model

The mathematical model used to simulate glossy reflections. For each viewing angle and surface normal, the model defines from which directions and at what intensity light is reflected. This is what shapes specular highlights and reflections in general.

The overall glossiness, and with it the size of highlights, is controlled by Roughness. The available models simulate the effects caused by Roughness with varying degrees of physical accuracy, with GGX currently being the most accurate.

The chosen model has no effect when Roughness is 0, since this causes light to be reflected from a single direction at full intensity, making the model irrelevant.

See Roughness for more information.

Reflection Label

Specifies a label for the reflection BSDF. This can be used to export contributions from this component to a separate image plane.

Refraction Label

Specifies a label for the refraction BSDF. This can be used to export contributions from this component to a separate image plane.


Controls the amount of reflection output.


Controls the amount of reflection output.


Controls how dull a surface appears. A value of 0.0 results in a smooth surface with perfectly sharp reflections. A value of 1.0 produces a completely dull surface.

This simulates microscopic bumps which become more pronounced the higher the Roughness, causing reflected light to be scattered more.


Causes reflections to be stretched in the direction defined by Anisotropy Direction.

This simulates microscopic bumps with a directional bias, causing light to be scattered more in the defined direction. This is typical of brushed metals.

The effect of this parameter increases with Roughness. It has no effect at all when Roughness is 0.0.

Anisotropy Direction

Controls the direction of Anisotropy relative to the UV coordinates of the surface. At 0.0, reflections are stretched in the U direction. At 0.5, the direction is rotated by 90 degrees to the V direction. 1.0 equals 180 degrees. Since the effect is symmetrical this produces the same result as 0.0.

The direction of rotation also depends on the UV layout. When the UVs are layed out such that textures appear on the surface without mirroring, higher values rotate counter-clockwise.

The effect of this parameter diminishes with decreasing Roughness and Anisotropy.


Tints both reflections and refractions.

Index of Refraction

Higher values reflect more light and bend refraction rays more.

The impact on reflectivity is strongest on surfaces facing directly towards the viewer. Surfaces facing less directly towards the viewer generally reflect more light, regardless of this parameter’s value.


The shininess of a surface also depends greatly on its Roughness.

The effect on a shiny black object in a white environment. Note how reflections at the edges are not affected, apart from the special value 1.0:

Surface Priority

The shaded surface’s place in an order of precedence for overlapping transparent materials. A value of 0 means the surface priority should be ignored. Surfaces with lower numbers (higher priority) “override” surfaces with higher numbers (lower priority). Mantra will only calculate the shaders for the highest priority object in a given area, creating the effect of higher priority objects overriding and removing lower priority objects in the same overlapping space.

In this render, the red sphere and the blue box have the same surface priority. This causes problems with refraction and absorption, because it’s not clear to Mantra which surface is inside or outside.

In this example, the red sphere has a higher priority than the blue box (lower numbers mena higher priority) so it “carves out” its volume from the box (Mantra simply ignores whichever parts of the box have overlapped the sphere). The absorption and refraction is now correct for the red sphere being embedded in the blue box. This setup would work well for something like ice cubes floating in water.

In this example, the surface priority values are switched so the blue box has higher priority. This has the effect of removing any parts of the red sphere which overlapped the blue box. This setup would work for something like water droplets resting on the surface of a glass.

This parameter only takes effect when Enable Absorption and Nested Dielectrics is turned on in the Mantra render node.


Spreads and colors refraction rays to simulate the effect of a spectrum of wavelengths within the refracted light. The larger this value, the larger the spectral separation.

When this parameter is set to a non-zero value, refracted rays are tagged with a single wavelength in the visible spectrum. Each of these wavelengths modify the underlying index of refraction (IOR) causing the rays to separate as they travel through the refractive material.

Transmittance Color

Tint rays with this color as they pass through an object. The amount of tinting depends on the distance a light ray travels within the object. You can scale the tinting using At distance.

At Distance

A ray must travel this distance within the object before it is completely colored by the Transmission color. Shorter distances give less tinting, longer distances give a darker and more saturated version of the Transmission Color.


Colors that are not fully saturated work best with the At Distance parameter.

Color components that are set to 0.0 aren’t absorbed at all, while components set to 1.0 are fully absorbed. This means that At Distance has no effect on those components.

Thin Film Refractions

Treat the shaded surface as an infinitely thin surface rather than a surface of a solid object.

Energy Conserving Fresnel Blend

Blend the reflection and refraction components in a physically correct manner. Conserve energy when layered on top of a base layer input.

Shade Both Sides As Front

Shades both sides of the surface as if they were the front.


This produces incorrect results for transparent surfaces.

Shade Back Side

When Shade Both Sides As Front is disabled, this controls whether the back side receives any shading at all. When disabled the backside renders black.

See also

VOP nodes