Houdini 20.5 Nodes LOP nodes

Render Geometry Settings

Applies renderer-specific geometry settings to geometry in the scene graph.

On this page
Since 18.0

Overview

Many renderers have custom settings that can be set on a per-geometry basis, such as sampling rates, motion blur control, and dicing quality. These properties are not generally applicable enough to be part of the USD standard, but can be very important for batch rendering targeted at a specific renderer.

These geometry settings are different from the settings on a Render Settings primitive because they do not affect the rendering of the entire scene. They only affect the targeted geometry primitives. Renderer-specific light settings are already provided on the Light LOP itself, and so will not appear on this node.

This node provides a way to set these renderer-specific setting on a set of geometry primitives.

Note

To find out how to add parameters for a third-party renderer, see “USD Hydra: Customizing for Houdini” in the HDK documentation.

Inheritance

  • Individual renderers can set values from these parameters as USD attributes, or as primvars. (Karma sets them as primvars.)

  • Storing the settings in primvars allows them to be inherited down the scene graph hierarchy, so it is easier to apply a particular setting to large numbers of geometry primitives.

How to

  1. Specify the geometry primitives you want to apply settings to in the Primitives parameter.

  2. Use the pop-up menu to the left of the parameters to control how the node authors the opinion for that setting.

    Pop-up menu item

    Meaning

    Set or Create

    Sets the attribute to the given value, whether it previously existed or not.

    Set If Exists

    Only set the attribute to the given value if it previously existed.

    Use this mode to make sure an attribute is only set on primitives of the correct type. For example, only UsdGeomSphere primitives are likely to have a radius attribute.

    Block

    Makes the attribute appear to not exist, so it takes on its default value. (If the attribute doesn’t already exist on the prim, this does nothing.)

    Disconnect Input

    Deletes the attribute input connection to its source. Input connections take precedence over attribute values, so disconnecting an input allows the attribute value to take effect.

    Do Nothing

    Ignore this parameter, don’t create or change the attribute in any way.

Parameters

Primitives

The primitive(s) the node should operate on. You can drag primitives from the scene graph tree pane into this textbox to add their paths, or click the Reselect button beside the text box to select the primitives in the viewer, or ⌃ Ctrl-click the Reselect button to choose prims from a pop-up tree window. You can also use primitive patterns for advanced matching, including matching all prims in a collection (using /path/to/prim.collection:‹name).

Note

This parameter needs to be exposed in order for the transform handles to be context-aware. Without it, the handles may not be positioned properly.

Karma

Enable Motion Blur

Whether to enable motion blur. Changing this in the display options will require a restart of the render.

Motion Samples from Stage

Instead of choosing the motion samples explicitly, Karma can also choose the motion samples based on the samples authored on the Usd stage. This option will choose just the right number of samples to capture the motion described on the stage.

This setting applies to both transform and deformation motion samples for both geometry and instances.

Note: If the samples on the stage don’t align with the shutter times on the camera, it’s possible there will be some minor interpolation issues over the first and last segments (since motion will be truncated rather than interpolated).

Velocity Blur

This parameter lets you choose what type of geometry velocity blur to do on an object, if any. Separate from transform blur and deformation blur, you can render motion blur based on point movement, using attributes stored on the points that record change over time. You should use this type of blur if the number points in the geometry changes over time (for example, a particle simulation where points are born and die).

If your geometry changes topology frame-to-frame, Karma will not be able to interpolate the geometry to correctly calculate Motion Blur. In these cases, motion blur can use a velocities and/or accelerations attribute which is consistent even while the underlying geometry is changing. The surface of a fluid simulation is a good example of this. In this case, and other types of simulation data, the solvers will automatically create the velocity attribute.

Note

In Solaris, velocities, accelerations, and angularVelocities attributes are equivalent to v, accel, and w in SOPs, respectively.

No Velocity Blur

Do not render motion blur on this object, even if the renderer is set to allow motion blur.

Velocity Blur

To use velocity blur, you must compute and store point velocities in a point attribute velocities. The renderer uses this attribute, if it exists, to render velocity motion blur (assuming the renderer is set to allow motion blur). The velocities attribute may be created automatically by simulation nodes (such as particle DOPs), or you can compute and add it using the Point velocity SOP.

The velocities attribute value is measured in Houdini units per second.

Acceleration Blur

To use acceleration blur, you must compute and store point acceleration in a point attribute accelerations. The renderer uses this attribute, if it exists, to render multi-segment acceleration motion blur (assuming the renderer is set to allow motion blur). The accel attribute may be created automatically by simulation nodes, or you can compute and add it using the Point velocity SOP.

When Acceleration Blur is on, if the geometry has a angular velocity attribute (w), rapid rotation will also be blurred. This should be a vector attribute, where the components represent rotation speeds in radians per second around X, Y, and Z.

When this is set to “Velocity Blur” or “Acceleration Blur”, deformation blur is not applied to the object. When this is set to “Acceleration Blur”, use the karma:object:geosamples property to set the number of acceleration samples.

Velocity motion blur used the velocity attribute (velocities) to do linear motion blur.
Acceleration motion blur uses the change in velocity to more accurately blur objects turning at high speed.
Angular acceleration blur works with object spin, such as these fast-spinning cubes.

Geometry Time Samples

The number of sub-frame samples to compute when rendering deformation motion blur over the shutter open time. The default is 1 (sample only at the start of the shutter time), giving no deformation blur by default. If you want rapidly deforming geometry to blur properly, you must increase this value to 2 or more. Note that this value is limited by the number of sub-samples available in the USD file being rendered. An exception to this is the USD Skel deformer which allows.

“Deformation” may refer to simple transformations at the Geometry (SOP) level, or actual surface deformation, such as a character or object which changes shape rapidly over the course of a frame.

Objects whose deformations are quite complex within a single frame will require a higher number of Geo Time Samples.

Deformation blur also lets you blur attribute change over the shutter time. For example, if point colors are changing rapidly as the object moves, you can blur the Cd attribute.

Increasing the number of Geo Time Samples can have an impact on the amount of memory Karma uses. For each additional Sample, Karma must retain a copy of the geometry in memory while it samples across the shutter time. When optimizing your renders, it is a good idea to find the minimum number of Geo Time Samples necessary to create a smooth motion trail.

Deformation blur is ignored for objects that have Velocity motion blur turned on.

Transform Time Samples

The number of samples to compute when rendering transformation motion blur over the shutter open time. The default is 2 samples (at the start and end of the shutter time), giving one blurred segment.

If you have object moving and changing direction extremely quickly, you might want to increase the number of samples to capture the sub-frame direction changes.

In the above example, it requires 40 transformation samples to correctly render the complex motion that occurs within one frame. (This amount of change within a single frame is very unusual and only used as a demonstration.)

Transformation blur simulates blur by interpolating each object’s transformation between frames, so it’s cheap to compute but does not capture surface deformation. To enable blurring deforming geometry, increase karma:object:geosamples.

Instance Velocity Blur

When defining motion blur on instances, the transform of each instance can be blurred in addition to any motion blur occurring on the prototype. This option controls how the instance will compute the motion blur of the transform on each instance. For example, when instancing prototypes to a particle system, you'd likely want to use velocity blur to compute motion blur (the transform on the prototype would be blurred by the velocity on the particles).

No Velocity Blur

Use deformation blur of the instance to compute the blur on the transform.

Velocity Blur

To use velocity blur, the instance must be a point instancer with velocity attributes on the points.

The velocities attribute value is measured in Houdini units per second.

Acceleration Blur

To use acceleration blur, the instance must be a point instancer with point velocities and acceleration values. The renderer uses this attribute, if it exists, to render multi-segment acceleration motion blur (assuming the renderer is set to allow motion blur). The accel attribute may be created automatically by simulation nodes, or you can compute and add it using the Point Velocity SOP; this will be converted to accelerations when the SOP geometry is converted to USD.

Instance Motion Samples

When motion blur on instances is computed using Acceleration Blur or Deformation Blur, this parameter specifies the number of motion segments used for motion blur.

Motion Blur Style

Specifies the style of motion the object has.

Rotation Blur (default)

Rotates the object around the origin. This is ideal for objects that spin.

Linear Blur

This style of motion will not preserve the volume of rotating objects and will have linear motion instead of rotational arcs. Should only be used in special cases, i.e. with pivot transformations. Linear blur linearly interpolates the coefficients of the transformation matrix to achieve a correct blur.

Dicing Quality

This parameter controls the geometric subdivision resolution for smooth surfaces (subdivision surfaces and displaced surfaces). With all other parameters at their defaults, a value of 1 means that approximately 1 micropolygon will be created per pixel. A higher value will generate smaller micropolygons meaning that more shading will occur - but the quality will be higher.

The effect of changing the shading quality is to increase or decrease the amount of shading by a factor of karma:object:dicingquality squared - so a shading quality of 2 will perform 4 times as much shading and a shading quality of 0.5 will perform 1/4 times as much shading.

Dicing Flatness

This property controls the tesselation levels for nearly flat primitives. By increasing the value, more primitives will be considered flat and will be sub-divided less. Turn this option down for more accurate (less optimized) nearly-flat surfaces.

Dicing Minimum Depth

When not set to -1, karma will set minimum number of rows and columns on each face to be 2 to the power of this value when dicing for subdivision or displacement.

Dicing Maximum Depth

When not set to -1, karma will set maximum number of rows and columns on each face to be 2 to the power of this value when dicing for subdivision or displacement. Setting the same (or lower) value as “Dicing Minimum Depth” is effectively equivalent to fixed parametric subdivision that ignores raster space/offscreen measurement. Recommended leaving this value at -1.

True Displacements

This setting controls how the displacement shader on the object will be run. Bump Mapped Displacement

The displacement shader is run, but only modifies the surface normal. This does not dice geometry and can save memory.

True Displacement

The geometry is diced and displaced. This will cause proper silhouettes and shadowing of displaced surfaces.

Disable Displacement Shader

Disable the displacement shader entirely. There will be no bump mapping or displaced geometry.

Cusp Angle

If there are no normals on an object, any edges with a dihedral angle greater than this value will be cusped. For compatibility with mantra, Karma will also look for a detail attribute named vm_cuspangle (which takes priority over the setting).

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.

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.

Diffuse Limit 0
Diffuse Limit 1
Diffuse Limit 2

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.

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.

Reflection Limit 0
Reflection Limit 1
Reflection Limit 2

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.

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.

Diffuse Quality

This parameter acts as a multiplier on Min Secondary Samples and Max Secondary Samples for indirect diffuse component.

Reflection Quality

This parameter acts as a multiplier on Min Secondary Samples and Max Secondary Samples for indirect reflect component.

Refraction Quality

This parameter acts as a multiplier on Min Secondary Samples and Max Secondary Samples for indirect refract component.

Volume Quality

This parameter acts as a multiplier on Min Secondary Samples and Max Secondary Samples for indirect volume component.

SSS Quality

This parameter acts as a multiplier on Min Secondary Samples and Max Secondary Samples for SSS component.

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.

Volume Shadow Step Rate

A factor to proportionally decrease the volume step rate only for shadows, relative to the volume step rate. Smaller values will cause karma to use a larger ray march step size for shadow rays than other shading rays. A value of 1 will produce equal quality for shadow rays and shading rays.

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.

Volume Velocity Blur Scale

Velocity multiplier used to reduce or exaggerate amount of motion blur on volumes.

Volume Velocity Blur Mode

Choose velocity blur method for volumes.

Lattice Deformation

Motion sampled via deforming superstructure.

Lookup Offset

Sample coordinate is offset by velocity field value.

Note

Lattice Deformation mode can produce higher-quality results and handle cases such as disparate features of a volume overlapping post-blur. Lookup Offset mode can be more performant, particularly with reduced-resolution velocity fields, but susceptible to clipping issues if the sampled position is outside the bounds of velocity field where values do not exist.

Volume Sampling Field

Specifies the volume field by name that will be used for empty space culling. By default karma will use the 'density' field if it exists. If you are rendering an emissive volume in which some parts of the volume have a 0 density but still need to be rendered, you should specify a different field using this parameter.

Volume Filter

Some volume primitives can use a filter during evaluation of volume channels. This specifies the filter. The default box filter is fast to evaluate and produces sharp renders for most smooth fluid simulations. If your voxel data contains aliasing (stairstepping along edges), you may need to use a larger filter width or smoother filter to produce acceptable results. For aliased volume data, gauss is a good filter with a filter width of 1.5.

  • point

  • box

  • gauss

  • bartlett

  • blackman

  • catrom

  • hanning

  • mitchell

Volume Filter Width

This specifies the filter width for the “Volume Filter” property. The filter width is specified in number of voxels. Larger filter widths take longer to render and produce blurrier renders, but may be necessary to combat aliasing in some kinds of voxel data.

Holdout Mode

When this is set to “Matte” mode, the object will be considered to be a cutout matte. Any lighting contribution and alpha of the object will be redirected to LPE AOVs with “holdouts” prefix. Holdout Mode does not affect the utility AOVs such as ray:hitP and ray:hitN. “Background” mode is similar to “Matte”, except it’s used for background plate so it will appear “pre-lit” in indirect bounces, multiplied by shadow contribution. Diffuse albedo of the shader is used to determine the pre-lit irradiance.

Render Points As

When rendering point clouds, they can be rendered as camera oriented discs, spheres or discs oriented to the normal attribute.

Render Curves As

When rendering curves, they can be rendered as ribbons oriented to face the camera, rounded tubes or ribbons oriented to the normal attribute attached to the points.

Override Curves Basis

USD supports Curve Basis types that may not be supported directly in Houdini. In some cases, you may want to override the Houdini curve basis. For example, if you have linear curves in Houdini, you may want to render them with a Bezier, B-Spline or Catmull-Rom basis. This menu will force Karma to override the basis that’s tied to the USD primitives.

Note that the topology of the curves must match the target basis. For example, when selecting any cubic curve basis, every curves must have at least 4 vertices. For the Bezier basis, curves must have 4 + 3*N vertices.

Cull Backface

If enabled, geometry that are facing away from the camera are not rendered.

Fix Shadow Terminator

Adjust shading position of shadow rays to avoid self-shadowing artifact on low-poly mesh due to discrepancy between smooth normals and face normals.

Bump Shadow Terminator

With strong bump or normal maps you often see an abrupt/hard shadow terminator line. This parameter is a threshold and you enter an angle in radians: for angles that are smaller than or equal to the entered value, you will get a soft shadow terminator. If the angle is greater than the threshold, a hard terminator appears. A value of 0 disables the feature and you’ll always see a hard shadow terminator. Bump Shadow Terminator preserves the shape of the highlights while softening the terminator.

LPE Tag

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

Custom Tracesets

A space-separated list of custom traceset names. You can use tracesets to subdivide a mesh into different parts, i.e. in conjunction with the Karma Texture Baker LOP. For example, the clothing on a character might have tracesets like pants, shirt and jacket. On the Karma Texture Baker LOP’s Bake Traceset parameter you can then define which part/traceset you want to bake.

Orientation

May be queried via objectstate vex function and will be “rightHanded” or “leftHanded” depending on the geometry’s winding order. This property is derived from USD geometry’s orientation attribute and not directly settable.

Direct Refraction Subset

For compound BSDFs with refractive components, only apply direct lighting for lights that belong in specified location. A light ray facing the same direction as geometry normal is considered “Outside”. For transparent material that are solid/closed-manifold, setting this parameter to “Outside” can improve render performance by reducing noise in direct lighting and cut down on wasted shadow rays.

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

Caustics Roughness Clamp

Forces a minimal roughness for true caustics, above what the shader has set. Increasing this value can make caustics less noisy at the cost of accuracy.

Caustics Roughness: 0
Caustics Roughness: 0.2 (default)
Caustics Roughness: 0.5
Caustics Roughness: 0.8

Note

Roughness clamp only works with GGX BSDF and may not have any effect with Phong, cone, or specular BSDFs.

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.

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.

Secondary Noise Level

Noise threshold to determine the number of indirect rays cast for indirect bounce when the Convergence Mode is set to “Automatic”. Decreasing this threshold (for example, to 0.001) will theoretically send more indirect rays and decrease noise, however the “extra” rays will likely be cancelled out by the Max Ray Samples parameter. The correct way to decrease noise is to increase the number of samples per pixel, rather than change this threshold.

If you are using Variance Pixel Oracle, you should set the same value for both threshold parameters. Setting the oracle’s threshold lower may make the indirect component reach its threshold sooner and cast fewer indirect rays, but the oracle decides to cast more expensive camera rays because the amount of final noise in the beauty pass is higher than the oracle’s threshold.

Min Secondary Samples

Minimum number of rays to cast in per-component variance anti-aliasing.

Max Secondary Samples

Maximum number of rays to cast in per-component variance anti-aliasing.

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.

Is Portal

When enabled, the object will turn into a “light portal” that only lets in certain portion of dome lights based on portal geometry visibility.

Portal Dome Lights

Space-separated list of dome lights to associate this portal with.

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.

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

Low Resolution Object ID

Defines this object as the low resolution object corresponding to said Texture Baking Object ID. This means that the texture space of this object is what is being baked. If no high resolution object exists for this Object ID, this is the rendered appearance for the texture in that space as well. This is required for texture baking.

Cage Object ID

Defines this object as the cage object corresponding to said Texture Baking Object ID. This means that this object is used to help resolve normal discontinuites during texture baking of the low resolution object. This is optional for texture baking.

High Resolution Object ID

Defines this object as the high resolution object corresponding to said Texture Baking Object ID. This means that the rendered appearance of this object is what is being baked into the texture space the low resolution object. This is optional for texture baking.

LOP nodes

  • Add Variant

    Adds one or more variants to a variant set on a primitive. This node creates the primitive if it doesn’t exist.

  • Additional Render Vars

    Create multiple render vars.

  • Asset Reference

    Reference, Transform, and select variants of a USD Asset.

  • Assign Material

    Assigns a material to one or more USD primitives. You can use also programmatically assign materials using VEX, programmatically override material settings for each assignment, and programmatically assign materials to geometry subsets.

  • Assign Prototypes

    Switch point instances or USD instanceable prims to instance a different prototype.

  • Attribute VOP

    Create/edit USD attribute values using a VOP network.

  • Attribute Wrangle

    Create/edit USD primitive attributes using a VEX snippet.

  • Auto Select LOD

    Automatically selects a level-of-detail variant based on the primitive’s distance from the camera.

  • Background Plate

    Sets up hold-out or matte objects that leave holes in the scene through which the background is visible. These prims still take shadows and contribute to reflections as if they were the background.

  • Bake Skinning

    Bakes animation driven by a UsdSkel into transforms and point positions.

  • Basis Curves

    Creates or edits a basis curves shape primitive.

  • Begin Context Options Block

    This node begins a block of LOP nodes, within which certain context options have certain values.

  • Blend

    Partially applies edits to a layer’s attributes based on a fractional weight.

  • Blend Constraint

    Blends transforms according to a list of weights specified as parameters.

  • Cache

    Caches the results of cooking the network at different times, increasing playback speed.

  • Camera

    Adds a USD camera to the scene.

  • Capsule

    Creates or edits a capsule (tube with hemispherical ends) shape primitive.

  • Collection

    Creates/edits collections using primitive patterns.

  • Component Geometry

    Geometry container or import source, in a network created by the Component Builder tool.

  • Component Geometry Variants

    Sets up geometry variants, in a network created by the Component Builder tool.

  • Component Material

    Assigns materials to geometry in a network created by the Component Builder tool.

  • Component Output

    Assembles the final Component prim, in a network created by the Component Builder tool.

  • Cone

    Creates or edits a cone shape primitive.

  • Configure Layer

    Edits metadata on a layer.

  • Configure Primitives

    Edits various metadata on one or more primitives.

  • Configure Properties

    Configures metadata on properties (relationships and attributes).

  • Configure Stage

    Configures metadata for how to load layers into the stage and asset resolution.

  • Coordinate System

    Define named coordinate systems used in shaders.

  • Copy Property

    Copy properties from one primitive to another, or renames properties on a primitive.

  • Create LOD

    Uses the PolyReduce SOP to automatically generate multiple levels of detail from a high-res model, and stores them as USD variants.

  • Cube

    Creates or edits a cube shape primitive.

  • Cylinder

    Creates or edits a cylinder shape primitive.

  • Distant Light

    Creates or edits a USD Distant Light, representing a far-off light source such as the sun. Adds some useful Karma-specific attributes.

  • Dome Light

    Creates or edits a USD Dome Light prim. A dome light emits light inward, simulating light coming from the sky/environment surrounding the scene.

  • Draw Mode

    Sets draw mode properties on USD model assets.

  • Drop

    Runs a simulation to drop primitives under gravity.

  • Duplicate

    Creates copies of a prim (and its descendants).

  • Edit

    Interactively transforms prims in the viewer. Can use physics collisions to position props realistically.

  • Edit Context Options

  • Edit Material

    Allows you to edit an existing USD material by modifying parameters and shader connections. This can be useful if the existing material is on a non-editable layer.

  • Edit Material Properties

    Lets you build a spare parameter interface that reflects material or shader input attributes to directly edit their values.

  • Edit Properties

    Lets you build a spare parameter interface to directly edit attribute and relationship values.

  • Edit Properties From Node

    Lets you refer to the parameter on another node to directly edit attribute and relationship values.

  • Edit Prototypes

    Modify the prototypes of native or point instances in-place, without disturbing the instancing setup.

  • Edit Target Layer

    Allows you to apply edits directly in a lower layer, instead of overriding prims and attributes in the active layer.

  • Error

    Generates a message, warning, or error, which can show up on a parent asset.

  • Explore Variants

    Visualize, set, or extract variants on primitives.

  • Extract Instances

    Converts (heroes) an instance into a real editable prim.

  • Fetch

    Grabs the output of another LOP, potentially in another LOP network.

  • File Cache

    Caches (writes out once and then reads from) USD layers (possibly animated) to disk.

  • Follow Path Constraint

    Constrains a prim to follow a path curve.

  • For Each

    The end node of a For-Each loop block.

  • Geometry Clip Sequence

  • Geometry Color

    Adds display color and display opacity primvars to geometry.

  • Geometry Sequence

    Imports a sequence of geometry files into LOPs as animated geometry.

  • Geometry Subset VOP

    Creates USD geometry subsets within geometry prims (similar to groups in SOPs) based on evaluating a VEXpression or VOP network.

  • Graft Branches

    Takes prims/branches from the second input and attaches them onto branches of the scene graph tree in the first input.

  • Graft Stages

    Takes scene graph trees from other inputs and attaches them onto branches of the scene graph tree in the first input.

  • HDA Dynamic Payload

    Cooks a OBJ or SOP asset on disk and imports the animated geometry output as a USD payload.

  • Hermite Curves

    Creates or edits a hermite curves shape primitive.

  • Houdini Feather Procedural

    Generates feathers for rendering.

  • Houdini Preview Procedurals

    Invokes Houdini Procedurals while working interactively.

  • Houdini Procedural: Crowd

    Houdini Crowd Procedural for Solaris.

  • Houdini Procedural: Hair

    Houdini Hair Procedural for Solaris.

  • Houdini Procedural: Ocean

    Houdini Ocean Procedural for Solaris.

  • Houdini Procedural: RBD

    Houdini RBD Procedural for Solaris.

  • Inline USD

    Parses usda code representing a layer and adds it to the layer stack.

  • Insertion Point

    Represents a point in the node graph where nodes can be inserted.

  • Instancer

    Instances or copies primitives onto points.

  • Isolate Scene

    Work in masked areas of the stage.

  • Karma

    Renders the USD scene using Houdini’s Karma renderer.

  • Karma Cryptomatte

    Setup Cryptomatte AOVs for Karma.

  • Karma Fog Box

    Creates a constant volume within a box.

  • Karma Physical Sky

    Creates a Karma Sky Dome and Sun Light rig.

  • Karma Render Products

    Create multiple render products sharing common settings.

  • Karma Render Properties

    Configure Render Properties for Karma.

  • Karma Sky Atmosphere

    Creates or edits a Karma Sky Atmosphere.

  • Karma Sky Dome Light

    Creates or edits a Karma Sky Dome Light.

  • Karma Standard Render Vars

    Create standard karma render vars (AOVs/Image Planes).

  • LPE Tag

    Manage Lights' LPE Tags.

  • Labs Karma AOVs for RenderMan Denoiser

    Generates AOVs for the Pixar RenderMan denoiser.

  • Layer Break

    Starts a new active sublayer that subsequent nodes will edit, and indicates all previous layers will be discarded when saving to disk.

  • Layer Replace

    Replaces all uses of a certain layer with a substitute layer from its second input.

  • Layout

    Provides tools for populating a scene with instanced USD assets. You can place individual components, paint/scatter components in different ways using customizable brushes, and edit existing instances.

  • Light

    Creates or edits a USD Light prim. This node also adds some useful Karma-specific attributes.

  • Light Filter Library

    Authors USD light filter primitives from VOP nodes.

  • Light Linker

    Creates USD light link properties based on rules.

  • Light Mixer

    Lets you interactively edit USD properties for multiple lights.

  • Load Layer for Editing

  • Loft Payload Info

    Adds basic information from inside a payload to the primitive that loads the payload.

  • Look At Constraint

    Constrains a prim to always point toward a target.

  • Mask from Bounds

    Sets a primvar based on whether/by how much selected prims are inside a bounding shape.

  • Match Size

    Resizes and recenters the input geometry to match a reference bounding box.

  • Material Library

    Authors USD material primitives from shader VOP nodes.

  • Material Linker

    Creates material assignments based on rules.

  • Material Variation

    Creates attributes/primvars to override material parameters per-prim/instance.

  • Merge LOP

    Merges the layers from incoming stages into a unified layer stack.

  • Merge Point Instancers

    Merges point instancers into a single consolidated point instancer.

  • Mesh

    Creates or edits a mesh shape primitive.

  • Modify Paths

    Modify asset path attribute values.

  • Modify Point Instances

    Modifies point transforms and property values for individual point instances.

  • Motion Blur

    Adds time samples to allow motion blur when rendering.

  • Null

    This node does nothing. It can be useful to insert a Null into a network as a fixed point in the network that you can refer to by name in expressions/scripts.

  • Output

    Represents the output of a subnetwork. Allows you to design a node asset with multiple outputs.

  • Parent Constraint

    Makes a primitive appear to inherit the transform hierarchy of another prim somewhere else in the tree.

  • Points

    Creates or edits a Points shape primitive.

  • Points Constraint

    Position and Orient primitives using point positions from a geometry.

  • Primitive

    Bulk-creates one or more attributes of a certain type.

  • Prune

    Hides or deactivates primitives and point instances.

  • Python Script

    Lets you write Python code in the node to use the USD API to directly manipulate the stage.

  • RBD Destruction

    An example for a fracturing simulation in USD, also useful as a canned effect.

  • Reference

    References the contents of a external USD files and/or layers created by other LOP nodes into a branch of the existing scene graph tree. Can also remove or replace existing references.

  • Render Geometry Settings

    Applies renderer-specific geometry settings to geometry in the scene graph.

  • Render Product

    Creates or edits a UsdRenderProduct prim, which represents an output of a renderer (such as a rendered image file or other file-like artifact produced by a renderer), with attributes configuring how to generate the product.

  • Render Settings

    Creates or edits a UsdRenderSettings prim, which holds the general settings for rendering the scene.

  • Render Var

    Specifies a custom variable computed by the renderer and/or shaders, either a shader output or a light path expression (LPE).

  • Resample Transforms

    Generates interpolated transform time samples from existing time samples on USD prims.

  • Restructure Scene Graph

    This node has various operations for editing prim paths, variant sets, and composition arcs.

  • Retime Instances

    Offsets and/or scales the timing of animation on selected instances.

  • SOP Character Import

    Imports a character or animation from a SOP network into the USD scene graph.

  • SOP Create

    Lets you create geometry in a SOP subnetwork inside this node, so you can create geometry in-place in the LOP network instead of needing a separate SOP network.

  • SOP Crowd Import

    Imports a crowd from a SOP network into the USD scene graph.

  • SOP Import

    Imports geometry from a SOP network into the USD scene graph.

  • SOP Modify

    Converts USD geometry into SOP geometry, runs the SOP subnet inside this node on the geometry, and converts the changes back to USD overrides.

  • Scene Doctor

    Validates primitives on a USD stage.

  • Scene Import

    Imports models, materials, and lights from the Object level into the LOP network.

  • Scope

    Creates a scope primitive. Scope is the simplest form of grouping, and does not have a transform. Scopes can be useful for organizing the scene tree.

  • Set Extents

    Sets the bounding box metadata of selected primitives.

  • Set Variant

    Selects (switches to) one of the variants stored in a variant set on a primitive.

  • Simulation Proxy

    Generates low-poly collison geometry suitable for physical simulation and creates a proxy relationship to the original model.

  • Sphere

    Creates or edits a sphere shape primitive.

  • Split Point Instancers

    Splits a point instancer into two or more instances, which divide up the original instances.

  • Split Primitive

    Splits USD geometry prims into child primitives based on geometry subsets or primvar values.

  • Split Scene

    This node splits a scene graph into two disjoint sets of primitives.

  • Stage Manager

    Provides a convenient interface to reference in many files at once and place them in the scene graph tree.

  • Store Parameter Values

    Lets you store temporary (unsaved) data in the stage.

  • Sublayer

    Imports from USD files or other LOP node chains into as sublayers, or removes/replaces/reorders existing sublayers.

  • Subnet

    Encapsulates a LOP subnetwork, allowing you to organize and hide parts of the network.

  • Surface Constraint

    Constrain a prim to stick to a surface.

  • Switch

    Passes through one of several inputs, based on a parameter choice or expression.

  • TimeShift

    Outputs the stage as it is at a different point in the timeline.

  • Transform

    Edits the transforms of selected USD primitives.

  • Transform UV

    Moves, rotates, and scales texture coordinates on USD primitives.

  • USD ROP

  • USD Render ROP

  • Unassign Material

    Unbinds a material from one or more USD primitives.

  • Value Clip

  • Vary Material Assignment

    Assign different materials across a number of prims to create variation.

  • Volume

    References volume data on disk into a volume prim containing field prims.

  • Xform

    Creates or edits an Xform prim. Xform (and its sub-classes) represents a transform in the scene tree.