On this page


See What’s new in Solaris for changes and fixes to Houdini’s USD-based staging, lighting, and rendering workflows.

General improvements

(Some of these improvements were backported to later builds of Houdini 19.0.)

Karma CPU

  • Watertight subdivision/displacement (coving)

  • Auto-crop post process

  • Texture baking (alpha - no artist-friendly workflow yet)

  • Nested dielectrics

  • Continuous dicing option available

  • Light shader/Light filter shading networks

  • Override Lighting workflow

  • Limiting dependencies for HDK (building Karma delegate for other Usd libs)

  • Cryptomatte LOP

  • Primvars for Cryptomatte RenderVars

  • Mtlx improvements/extensions

  • Auto-motion segments (based on authored samples on stage)

  • Motion Vector AOV

  • Shading quality multiplier

  • HdCoordSys support

  • Visualize AOVs with Heatmap (cputime configured to do this)

Karma XPU

  • Better matches output of Karma CPU in general

  • Improved texture filtering

  • Bump mapping

  • Support for Lightpath expressions (LPEs)

  • Improved shader compilation performance

  • Renders Point meshes, Catmull-Rom curves

  • Cylinder lights

  • Simple light filters

  • Improved sampling (quad-light and light tree)

  • Light linking

  • Diffuse + specular scale for shading

  • Improved thin film

  • Random walk SSS, for MtlX Standard Surface

  • Unlimited number of material bindings (per-face materials)

  • Delayed texture loading (with eviction)

  • On-demand loading of texture tiles and mesh primvars, greatly increasing GPU memory efficiency during batch rendering.

  • Karma now renders points and Catmull-Rom curves.

  • The Karma LOP HDA has been replaced by the Karma Render Settings LOP and the USD Render ROP. This makes it easier to layer render settings. (Existing scenes with the Karma LOP will continue to work, however using the two new nodes is now the recommended workflow.)

  • Renamed and redesigned the Karma Render Properties LOP to Karma Render Settings.

  • Karma Render Settings now warns if a render settings prim already exists in the scene tree. This helps prevent accidental overrides of upstream render settings.

  • Initial “preview” version of the Karma User Guide, a guide to using and optimizing Houdini’s Karma renderer.

  • Improved/automatic fake caustics

  • “Matte” holdout mode.


  • The convergence mode settings in render settings have been simplified down to two options: Automatic if the previous “Variance” mode, renamed to avoid confusion with the Variance pixel oracle. Path Traced is the same. The functionality of the previous “Distributed” option is now included in Automatic. The default is now Automatic. The convergence mode parameter is now on the Advanced tab. (Note that this option is only used by Karma CPU. Karma XPU always uses path tracing.)

  • Faster initial sampling with Automatic convergence, to improve the IPR experience.

  • In Karma Render Settings, the Pixel Samples parameter is now called Primary Samples or Path Traced Samples, depending on the convergence mode, to avoid confusion related to slow render times. The Automatic and Path Traced modes usually require very different values for this parameter. The two parameters both still set the karma:global:samplesperpixel property on the settings prim, and are still one Pixel Samples parameter on the generic Render Settings node.

  • The Min/Max Ray Samples parameter is now called Min/Max Secondary Samples, to make it clearer that this controls the number of indirect samples fired from each primary sample hit.

  • Indirect Samples Quality parameters added for each type of sample. Each is a multiplier for the min/max samples of a particular lobe. This is similar to how “Distributed” convergence mode worked in Houdini 19.0 and earlier. To get the same results as the old “Distributed” convergence mode, set Min/Max Secondary Samples to 1 and adjust the individual quality parameters for specific lobes.

Houdini procedurals

  • Houdini/husk now supports render-time procedurals, represented as USD prims. These procedural prims should work with any render delegate as they are essentially filter functions that take an input stage and modify it.

  • This version of Houdini includes one procedural: The Houdini Procedurals Hair LOP generates or deforms render-time hair from guide curves and skin prims. The Preview Houdini Procedurals LOP previews Houdini procedurals interactively.


  • Improved light sampling in general.

  • Karma now supports cylinder lights.

  • Karma now supports the light shaping API (spotlight, focus, and so on).

  • Karma now supports the light filtering API (barndoors, gel, and so on).

  • Karma now supports diffuse and specular scales.

  • Karma now supports light linking.


  • Karma Volume VOP combines VDF and EDF volumes in a Karma-friendly way.

  • Karma Rounded Edge VOP performs render-time edge rounding. Currently this only works with Karma CPU.

  • Karma Curvature VOP generates signal from surface curvature. Currently this only works with Karma CPU.

  • A new Karma Ocean LOP node helps to render ocean spectra and foam with Karma CPU renderer. Oceans are often created with the Small Ocean or Large Ocean shelf tools.

  • improved Texture filtering (anisotropic, cubic, and so on).


  • Added bump mapping (via MtlxHeightToNormal node).

  • Added MtlxUnlitSurface node.

  • Lama nodes exist in this version of MaterialX, but they are not fully functional. Until Lama is completed, the equivalent Houdini nodes are hidden, to avoid confusion.

  • UsdMtlX updated from USD 22.05, and MaterialX library to version 1.38.4.


  • Auto-segments mode lets Karma use the number of available motion samples automatically.

  • Low-level support for baking added to Karma CPU. Artist-friendly tools and workflows will arrive in a future release of Houdini.

What’s new in Houdini 19.5