On this page

Karma CPU

  • Added support for light linking on instanceable references.

  • Instead of the object velocity blur settings, you can now use specific Instance Velocity Blur and Instance Motion Samples parameters to control the motion blur on instances. You can find the parameters on the Render Geometry Settings LOP.

  • Karma CPU now supports the samples keyword in the gather statement when running VEX shaders.

  • Improved indirect guiding for Karma CPU. Previous versions used indirect guiding that created heavy noise in scenes with true caustics, dispersion or occluded objects. The new version can, for example, find paths through windows or water surfaces with true caustics. To use the new indirect guiding, go to the Karma Render Settings LOP and open the Advanced ▸ Sampling tab. Expand the Secondary Samples section and turn on Enable Indirect Guiding.

Karma XPU

  • Karma XPU has moved from beta to gold. To celebrate this milestone, Karma also got a new logo.

  • Cryptomatte is now available for Karma XPU.

  • Deep images are now available for Karma XPU.

  • Karma XPU lets you now use PrimVars to vary shader properties on a per-instance basis.

  • Optimized MtlX If Equal VOP, MtlX If Greater VOP and MtlX If Greater or Equal VOP nodes for faster evaluation.

  • Reworked Light Path Expressions (LPE) to better match Karma CPU, e.g. for shadow-mattes, alpha channels or holdouts.

  • You can now render composed Vector VDB fields without manually converting them to vector fields (for example via a VDB Vector from Scalar SOP). Composed Vector VDB fields often carry names with _x, _y and _z suffixes.

  • It’s now possible to blend two MtlX Standard Surface VOP nodes through the MtlX Mix VOP node.

  • Support for the Karma Fog Box LOP.

  • Karma XPU now supports light-filter shader graphs. Light filters let you project images on geometry, or use gels and gobos for creative lighting effects.

  • Backface culling for polygon meshes is now available in Karma XPU.

  • The Background Plate LOP for backgrounds and holdouts is now available in Karma XPU.

  • Support for Albedo AOVs.

  • AOV filter modes, for example min, max and accumulate.

  • Additional AOV outputs, for example utility values, pixel samples and heatmaps.

  • Textures are now tiled during the loading process. This results in faster loading times, smaller memory consumption and less disk space for caching the textures.

  • Volume fields are now loaded on demand, using less memory.

    Download the XPU Bubble Wrap file on the Content Library to see an example of Karma XPU rendering Thin-Walled geometry.

Rendering

  • A new Clone Control Panel is the first step towards a multi-shot and multi-asset management system. Cloning is a way to synchronize different Houdini sessions, where HIP files are changed and renderings are updated. The clone processes use complete non-graphical Houdini processes to cook the LOP network and render the images, just like live rendering in the viewport in your interactive Houdini session. The images are then sent back to the interactive Houdini session for viewing.

    The pane’s shot list is your one-stop window for changing render delegates, resolution, frame, camera, and many more.

  • The Karma AOV VOP 2.0 provides an improved workflow for the creation of AOVs from materials. The new method no longer requires accessory nodes and sets up RenderVars automatically.

    By default the Karma AOV creates a RenderVar that is then added to the materials branch of the Scene Graph Tree, but also referenced to the render products branch. If the Karma Render Settings LOP “sees” any AOVs or RenderVars, they're added automatically. Since AOVs are now added as outputs, you can connect the Karma AOV LOP’s input to any valid node and the RenderVars will be updated.

    Note that the old 1.0 workflow, available in Houdini 19.5 and earlier, is still available for compatibility reasons, but no longer recommended.

  • Optimized deep camera maps (DCM).

  • Added Volume Filter and Volume Filter Width properties to Render Geometry Settings LOP. You can choose from different volume filters, for example to reduce aliasing effects on volumes or sharpen fluid simulations.

  • The Karma Render Settings LOP lets you choose the Karma render delegate. If there’s a mismatch between your choice on the Karma Render Settings LOP and the delegate menu in the viewport, you get a warning.

  • A new render statistics section in Render Gallery shows a wide range of information like memory information, time to first pixel, shader calls, and many more.

  • When there’s a render delegate mismatch between the settings in the viewport and the Karma Render Settings LOP, you will see a warning in the upper left corner of the viewport. This is to draw your attention on the fact that Karma CPU and Karma XPU are completely different render engines, producing different results.

    When rendering with Karma XPU, you can also see information for the Optix and Embree engines. The percentage data doesn’t represent the render device’s usage. Instead, the numbers tell you to which amount a device contributed to the render process. For example, when you see Optix [75%] Embree [25%], the Optix engine rendered 75% of the image and the Embree engine was responsible for 25%.

    In machines with more then one GPU, you will see an appropriate number of Optix entries in the viewport.

Procedurals

  • A new Houdini Procedural: Ocean LOP lets you efficiently render high-resolution statistical spectrum waves (Philips and TMA) with foam and bubbles from a presimulated bgeo.sc spectrum file. The procedural lets you choose a camera for effective dicing. Shading can be done through predefined surface and interior materials. A proxy material helps to create fast previews.

    The Houdini Procedural: Ocean LOP works with both Karma CPU and XPU, but also with third-party renderers.

  • A new Houdini Procedural: Feather LOP creates high-resolution feathers for rendering. This node is part of Houdini’s new Feather System.

Artwork by Andriy Bilichenko

Lighting

  • A new Karma Physical Sky node lets you simulate accurate sky colors from solar altitude and azimuth, or location, date and time. A viewport gizmo indicates the current direction of the sun rays. You can also control the size of the sun disk in the sky through an Angular Size parameter.

  • Karma now supports the import of the ray:objectid for light sources. You can, for example, filter lights to randomize them per light source.

  • Improved quad light sampling.

  • A new Active Radius parameter for point lights on the Light LOP. Outside this radius, the light will have no effect.

  • The Light LOP now has Contributions and Contributes to Caustics parameters. Contributions lets you control which BSDF components affect the light, for example a lobe mask. Caustics are only rendered, when they`re turned on both the light and the object. By default, caustics are turned off.

  • A new Distance parameter on Light LOPs let you specify a maximum distance for objects shadowing this light and accelerate rendering. The default value of -1 indicates that there’s no limit.

Shading and materials

  • Shaders (VEX, MaterialX, Karma, USD Preview) are now created and assembled inside appropriate subnets in the Material Library LOP. Depending on the currently used subnet, all material entries are filtered to prevent you from using VEX nodes together with MaterialX nodes, for example. It’s still possible to create shader nodes on the Material Library’s without subnets through Python to maintain compatibility with older scripts. However, we recommend using the provided VEX Material Builder, MaterialX Material Builder and Karma Material Builder subnets for shader building.

    The pyro and cloud shaders are still available on the Tab menu’s top level under Karma ▸ Pyro.

  • Many improvements to the Material Linker LOP make the node the first choice over the Material Assign LOP.

    • On the Catalog tab you can now load the AMD MaterialX Library through the button. You first have to choose, where to save the library’s data.

    • Also on the Catalog tab you can find the improved standard material catalog for Karma.

    • You can drag materials from a catalog to and object and it appears in the Material List section, where it can be renamed.

    • When there’s a material listed in the Rules tab, you can click the button where you can edit PrimPatterns.

  • The new Karma Room Map VOP for Karma CPU and XPU uses parallax mapping to project images of rooms onto a flat plane. This creates the impression of a 3-dimensional interior. You can add up to four slices to create more depth layers like furniture, curtains or people, standing inside a room. An Offset UDIM parameter lets you switch to other textures of a UDIM sequence.

    The Karma Room Map VOP supports single planes, curved windows and multi-plane windows.

    Click her for a complete workflow guide with examples and different setups.

  • The new Karma Room Lense VOP lets you bake cross-shaped interior maps with slices from 3D rooms for use with the Karma Room Map VOP.

  • New Karma Voronoi Noise 2D VOP and Karma Voronoi Noise 3D VOP nodes for Karma shading networks. The results are very similar to Worley noise, but you can define extra random positions for seeding.

  • A new Karma Color Transform VOP node lets you transform color spaces.

  • New MtlX Circles2D VOP nodes, which creates highly-customizable circle/ring patterns.

  • The new Karma Hex Tiling VOP avoids visible seams and repetitions when you texture large areas with a single map. This node supports UV coordinates and triplanar projection and also works with normal maps. Note that normal maps only work correctly, when they follow Houdini’s specifications. Other types will be ignored or create wrong results.

  • A new MtlX PBR Texture Set VOP provides a convenient way to organize all relevant PBR textures through a single node and connect its outputs to the appropriate inputs of the MtlX Standard Surface VOP. Fallbacks let you define default values and colors if a texture isn’t available or can’t be found. You can also apply filters on all connected textures.

  • A new Karma Fur VOP shader with medulla support for extremely realistic results. The medulla is a hair’s inner core and a structural feature of thick hair and fur. Medulla support lets you precisely control the hair’s light scattering and light attenuation.

  • The Principled Shader VOP and MtlX Standard Surface VOP now support transmission dispersion. This parameter describes how much the index of refraction (IOR) varies across wavelengths.

  • A new Karma Ramp Parameter VOP provides an interface for the convenient creation of ramps in Karma CPU and XPU. The node creates a Ramp Parm VOP that is translated into a Karma Ramp shader primitive. The advantage is that it auto-promotes the ramp UI and creates a ramp input port on the parent subnet. The translator authors a connection between the USD inputs. This allows for the Edit Properties LOP to change the material or node graph interface value to drive the shader inside.

    Note that the Karma Ramp Parameter VOP replaces the Karma Ramp Color and Karma Ramp Float VOPs.

  • The new Karma Camera Falloff VOP creates a camera-based edge falloff effect in materials.

  • Nested dielectrics now work with Karma XPU and you can, for example, render water in bottle physically correct.

  • Added UDIM Offset and UDIM Patch nodes, which let artists (ab)use UDIM texture paths to randomize texture maps using primvars.

  • The MtlX Standard Surface VOP now supports thin walled transmission and dispersion, e.g. for soap bubbles or complex car paint. You can, for example, go to the Geometry section and turn on Thin Walled to create architectural glass without refraction.

  • The Karma Physical Lens VOP has support for an additional Cylindrical projection type.

  • A new Karma Light Filter Attenuation VOP was added to light shader networks. This node controls how the light intensity/color changes over distance.

  • The new Karma Point Cloud Read VOP opens a point cloud .pc file and searches for points around a position P within a given radius. Aside from .pc files, you can also load geometry files as point clouds. This node is compatible with Material X.

  • You can now mimic beveled and rounded edges at render time with the new Karma Rounded Edge VOP. This node is compatible with Material X.

  • You can now apply a displacement shader on point primitives.

  • A new Depth parameter on theMtlX Standard Surface VOP’s Transition section lets you render absorption and attenuation effects.

  • Shading quality multiplier with mipmap control.

  • A new kma render context for material authoring.

  • Updated MaterialX noise implementation.

  • Reorganized UI for the MtlX Standard Surface VOP shader.

  • MaterialX shader nodes now have uniform string inputs available. Note that the MtlX Standard Surface VOP doesn’t provide a geometry property for uniform outputs at the moment. It is still not possible to drive textures with geometry primvars. This might be subject to change in future Material X versions. As a workaround you can use USD UV Texture VOP or USD Primvar Reader VOP nodes.

  • The Karma Volume VOP provides new Secondary Anisotropy and Secondary Mix parameters. Mixing the node’s anisotropy parameters allows for more complex volumetric effects such as rim-lighting on clouds.

Colors and tone mapping

  • Implementation of OCIO 2.0. The open-source OCIO color management system is now fully implemented and also supports ACEScg for a linear workflow in Houdini’s Karma. The linear workflow ensures correct colors throughout the entire pipeline, including viewport, Karma, MPlay and the color picker.

    Color conversion is done automatically, based on rules and roles. You can create and edit rules under Edit ▸ OCIO Settings…. Once a rule is set, Houdini will convert all incoming footage into the specified work space role. Rules can be based on file names and extensions like wood_diffuse_srgb.jpg, but also on regular expressions. If no rule exists, OCIO assumes the included file space based on a file’s extension. JPG and PNG, for example, are considered to be in gamma-encoded sRGB space, while EXR and HDR are considered to be linear Rec.709. If no rule applies, you can also convert files manually through a Karma OCIO Color Transform VOP.

  • A new filmic tone mapper on the Karma Render Settings LOP lets you apply common tone mappings directly to the viewport and your render. You can choose from several predefined methods like ACES, Ward or Unreal. You can find the new Tone Map parameter on the Image Output ▸ Filters tab.

What’s new in Houdini 20