Houdini 20.0 Nodes VOP nodes

Karma Material Properties VOP node

Apply Karma geometry properties via shaders.

On this page
Since 20.0

This node node allows shaders to apply Karma render settings to objects. Material properties apply to any geometry which has the given material applied.

Tips

  • For objects which have both material properties and geometry properties (applied via Render Geometry Settings), the geometry properties will take precedence.

  • The Material Library LOP authors a custom input on the shader used by the material. This input is read by Karma, to set the material property on the bound geometry.

  • This approach is a custom convention for Karma.

Parameters

Sampling

Diffuse Samples

Specifies the quality of indirect diffuse shading. A value of one translates to roughly one additional diffuse sample per shading computation. A sample of 4 translates to roughly 4 additional diffuse samples per shading computation.

Reflect Samples

Specifies the quality of indirect reflection shading. A value of one translates to roughly one additional reflection sample per shading computation. A sample of 4 translates to roughly 4 additional reflection samples per shading computation.

Refract Samples

Specifies the quality of indirect refraction shading. A value of one translates to roughly one additional refraction sample per shading computation. A sample of 4 translates to roughly 4 additional refraction samples per shading computation.

Volume Samples

Specifies the quality of indirect volumetric shading. A value of one translates to roughly one additional volumetric sample per shading computation. A sample of 4 translates to roughly 4 additional volumetric samples per shading computation.

SSS Samples

Specifies the quality of indirect sub-surface scattering shading. A value of one translates to roughly one additional sub-surface scattering sample per shading computation. A sample of 4 translates to roughly 4 additional sub-surface scattering samples per shading computation.

Volume Step Rate

How finely or coarsely a volume is sampled as a ray travels through it. Volumetric objects are made up of 3d structures called Voxels, the value of this parameter represents the number of voxels a ray will travel through before performing another sample.

The default value is 0.25, which means that every one of every four voxels will be sampled. A value of 1 would mean that all voxels are sampled and a value of 2 would mean that all voxels are sampled twice. This means that the volume step rate value behaves in a similar way to pixel samples, acting as a multiplier on the total number of samples for volumetric objects.

Keep in mind that increasing the volume step rate can dramatically increase render times, so it should only be adjusted when necessary. Also, while increasing the default from 0.25 can reduce volumetric noise, increasing the value beyond 1 will rarely see similar results.

Light Sampling Quality

When an object is used as a geometry light source, this sets the per-light sampling quality. Increasing the quality will add additional samples for this light source, improving the sampling quality of this light relative to other light sources.

Note: This is not the quality of light received by an object.

Limits

Diffuse Limit

The number of times diffuse rays can propagate through your scene.

Unlike the Reflect and Refract Limits, this parameter will increase the overall amount of light in your scene and contribute to the majority of global illumination. With this parameter set above zero diffuse surfaces will accumulate light from other objects in addition to direct light sources.

In this example, increasing the Diffuse Limit has a dramatic effect on the appearance of the final image. To replicate realistic lighting conditions, it is often necessary to increase the Diffuse Limit. However, since the amount of light contribution usually decreases with each diffuse bounce, increasing the Diffuse Limit beyond 4 does little to improve the visual fidelity of a scene. Additionally, increasing the Diffuse Limit can dramatically increase noise levels and render times.

This is a float because all limits are stochastically picked per-sample, so for example you can set the diffuse limit to 3.25 and have 25% of the rays with a diffuse limit of 4 and 75% of rays with a diffuse limit of 3.

Reflection Limit

The number of times a ray can be reflected in your scene.

This example shows a classic “Hall of Mirrors” scenario with the subject placed between two mirrors.

This effectively creates an infinite series of reflections.

From this camera angle the reflection limits are very obvious and have a large impact on the accuracy of the final image. However, in most cases the reflection limit will be more subtle, allowing you to reduce the number of reflections in your scene and optimize the time it takes to render them.

Remember that the first time a light source is reflected in an object, it is considered a direct reflection. Therefore, even with Reflect Limit set to 0, you will still see specular reflections of light sources.

This is a float because all limits are stochastically picked per-sample, so for example you can set the diffuse limit to 3.25 and have 25% of the rays with a diffuse limit of 4 and 75% of rays with a diffuse limit of 3.

Refraction Limit

This parameter control the number of times a ray be refracted in your scene.

This example shows a simple scene with ten grids all in a row.

By applying a refractive shader, we will be able see through the grids to an image of a sunset in the background.

From this camera angle, in order for the image to be accurate, the refraction limit must match the number of grids that that are in the scene. However, most scenes will not have this number of refractive objects all in a row and so it is possible to reduce the refract limit without affecting the final image while also reducing the time it takes to render them.

Keep in mind that this Refract Limit refers to the number of surfaces that the ray must travel through, not the number of objects.

Remember that the first time a light source is refracted through a surface, it is considered a direct refraction. Therefore, even with Refract Limit set to 0, you will see refractions of Light Sources. However, since most objects in your scene will have at least two surfaces between it and the light source, direct refractions are often not evident in your final render.

This is a float because all limits are stochastically picked per-sample, so for example you can set the diffuse limit to 3.25 and have 25% of the rays with a diffuse limit of 4 and 75% of rays with a diffuse limit of 3.

Volume Limit

The number of times a volumetric ray can propagate through a scene. It functions in a similar fashion to the Diffuse Limit parameter.

Increasing the Volume Limit parameter will result in much more realistic volumetric effects. This is especially noticeable in situations where only part of a volume is receiving direct lighting. Also, in order for a volumetric object to receive indirect light from other objects, the Volume Limit parameter must be set above 0.

With the Volume Limit set to values above zero, the fog volume takes on the characteristic light scattering you would expect from light traveling through a volume. However, as with the Diffuse Limit, the light contribution generally decreases with each bounced ray and therefore using values above 4 does not necessarily result in a noticeably more realistic image.

Also, increasing the value of this parameter can dramatically increase the amount of time spent rendering volumetric images.

This is a float because all limits are stochastically picked per-sample, so for example you can set the diffuse limit to 3.25 and have 25% of the rays with a diffuse limit of 4 and 75% of rays with a diffuse limit of 3.

SSS Limit

The number of times a SSS ray can propagate through a scene. It functions in a similar fashion to the Diffuse Limit parameter.

This is a float because all limits are stochastically picked per-sample, so for example you can set the diffuse limit to 3.25 and have 25% of the rays with a diffuse limit of 4 and 75% of rays with a diffuse limit of 3.

Volume

Uniform Volume

Whether to render this object as if it was a uniform-density volume. Using this property on surface geometry is more efficient than actually creating a volume object of uniform density, since the renderer can assume that the volume density is uniform and place samples more optimally. The surface normal of the surface is used to determine which side of the surface will render as a volume - the normal will point away from the interior. The surface need not be closed - if the surface is not closed, the volume will extend an infinite distance away from the surface. Non-closed surfaces may produce unexpected results near the edge of the surface, so try to keep the viewing camera away from the edges.

Uniform Volume Density

Determines how the samples are distributed when rendering a uniform volume (karma:object:volumeuniform is enabled). This parameter must match the density on the uniform volume shader in order to produce correct results. Note that this property is deprecated in 20.0.

Uniform Volume Samples

The number of samples to generate when rendering a uniform volume (karma:object:volumeuniform is enabled). The samples will be distributed so as to produce an equal image contribution if they were all equal in brightness. Note that this property has no effect when global Screendoor Limit is greater than 0, so for all practical purposes it is deprecated.

Shading

LPE Tag

Custom label assigned to lights or objects for use with light path expression.

Dielectric Priority

Specifies the priority of a refractive material, allowing the renderer to choose which of many overlapping refractive materials should take precedence while rendering. This enables effects like water in a glass with ice cubes. The default (highest priority) is 0, and as the number increases (1, 2, 3, etc.), the priority decreases.

Enable Caustics

Brute-force caustics from transmissive objects. Allows evaluation of glossy BSDF that’s seen by indirect diffuse bounce. Often requires a significantly higher number of diffuse rays to resolve, especially if Caustics Roughness Clamp parameter is set to very small value or Indirect Guiding feature is disabled.

Fake Caustics
True Caustics

Enable Internal Reflection

Lets you evaluate the internal reflection on the backface of a glossy transmissive BSDF. Turn on this option to apply internal reflections. Note that this option has no effect on MaterialX Standard Surfaces with Thin Walled turned on: these materials always show internal reflections.

Evaluate BSDF On Fake Caustics

Allows the BSDF to affect the fake caustics, meaning (eg) a red bottle will automatically cast red shadows. Disabling the BSDF can reduce render times, but means fakecausticscolor should be used instead to set a constant shadow color.

Fake Caustics Color

Tints the fake caustics. Use this to darken the result of the BDSF, or to set a constant shadow color if the BSDF is disabled.

Fake Caustics Opacity

Controls the opacity of fake caustics. Use this to lighten the result of the BDSF.

Light

Treat As Light Source

Any object with an emissive material will generate light within the scene. If an object is significant enough (eg size, brightness, etc…) then it is possible for Karma to treat that object as if it were an explicit lightsource (similar to regular lights), meaning the emitted light will be handled much more efficiently. But doing so will add extra overhead elsewhere in the system (eg increased memory usage, slower update times, etc…).

There are three options. “No” will set the object as not being a lightsource. “Yes” will set the object as being a lightsource. “Auto” (default) means Karma will use an internal heuristic to decide if the object should be treated as a lightsource.

Light Source Diffuse Multiplier

A multiplier for the effect of this emissive object on the diffuse, SSS, and volume response of materials

Light Source Specular Multiplier

A multiplier for the effect of this emissive object on the reflection and refraction response of materials

VOP nodes