| On this page |
Compatibility-related changes ¶
Karma ¶
-
When Karma automatically converts textures, it will now use the
--opaque-detectimaketxoption to remove constant opaque alpha channels from images. This shouldn’t affect rendering, other than to save bandwidth and memory. -
Mipmap texture load on indirect bounces was improved to reduce the impact on render times if they're bottlenecked by file access.
Karma XPU ¶
-
Karma XPU has improved support for
displayOpacityandAfAOVs. -
Memory usage for subdivided/diced meshes is reduced by up to half.
-
The
MtlX Image VOP provides a Karma Texture Controls recipe. With Karma XPU, the recipe’s Texture Width can now go below
1, allowing sharpening of a texture. With0, you can even even disable mipmapping completely. If you want to restore the previous behavior, setKARMA_XPU_ENABLE_NEW_TEXBLUR_BEHAVIOR=0. -
The
MtlX Standard Surface VOP’s Coat ▸ Color parameter can now have values greater than
1. -
The Bump Shadow Terminator feature on the Render Geometry Settings LOP is now also available for Karma XPU.
-
You can now render iso-surface VDBs directly as uniform volumes without having to go the detour via a mesh.
-
There’s now improved render visibility support for indirect ray types.
husk ¶
-
huskwill now skiphvisualizematerials when rendering outside Houdini, for example in a farm. The prevents probe materials from being rendered in the final shot. -
huskhas a--pass ‹prim_path›flag. When specified,husksearches the Scene Graph Tree forrenderpassprimitives under/Render. For more information and examples, please read the husk documentation. -
The new
--error-summaryflag controls the behaviuor of the report creation at the end of the error log. -
huskwill now search for theRenderPassprimitive under/Render. You can now also render multiple passes in a singlehuskinvocation. For more information see the husk and search for--pass ‹prim_path›. -
The Karma and
huskUSD schemas now preserve relationships (instead of representing relationships as strings). -
husknow includes the name of the used delegate to create a default file name, for examplekarma.exrorhusk_storm.exr. -
On the Karma Render Setting LOP’s Karma ▸ Lighting Effects tab, you can find new Disable Scene Materials (husk) and Disable Scene Lights (husk) parameters. Note that these are
huskoptions and don’t have any effect on the viewport! -
A new
--skip-existing-framesoption forhuskwill look for already rendered frames and skips them. This option is also available as a checkbox on theUSD Render ROP’s Husk ▸ Rendering tab.
-
A new
husk:default_delegateschema provides information about the currently used renderer. This is important for render managers. -
A new
husk --karma-percent-of-samplesoption specifies a percentage of samples at which the render will stop (Karma-only). Please see the husk reference for more information. -
The
-ooption for the output image file path now works with 3rd party renderers.
New nodes: LOP ¶
-
The
Texture Material Library LOP lets you directly create and connect textures from a built-in COP network. A pre-configured
USD Material COP provides very similar functionality as the
MtlX Standard Surface Shader VOP. Find out more on Working with Copernicus nodes.
-
The
Image Filter LOP lets you apply a list of filters. Filters, available for COP Image Filter Lists, are also supported by this LOP. The node creates a
HoudiniImageFilterListprimitive on the stage that contains the filters. -
The new
Karma Blocker Light Filter LOP authors a USD
KarmaBlockerLightFilterprim on the stage. The node uses simple geometry to control the contribution of light in specific areas or create shadows from invisible objects.
New nodes: Karma VOP ¶
-
The
Karma Ambient Occlusion VOP lets you calculate ambient occlusion on the shader level.
-
The
Karma Distance VOP computes the normalized distance to nearby surfaces.
-
The
Karma Curvature VOP calculates the “roundness” of a surface.
-
A new
Karma Light Filter Attenuation VOP lets you control how light changes over distance. You can choose from various preconfigured models or define a custom ramp.
New nodes: MtlX VOP ¶
MaterialX 1.39.5 is now part of Houdini. This version comes with many new nodes.
-
The
MtlX Flake2D generates a procedural flake pattern in 2D space, suitable for simulating metallic flakes in materials such as car paint.
-
The
MtlX Flake3D generates a procedural flake pattern in 3D space, suitable for simulating metallic flakes in materials such as car paint.
-
The
MtlX Fractal2D provides a zero-centered 2D fractal noise in 1, 2, 3 or 4 channels.
-
The
MtlX Gltf Anisotropy Image lets you create the anisotropic property as seen with brushed metal.
-
The MtlX glTF Material is a material defined by the Khronos Group for glTF-2.0. Designed to improve interoperability between MaterialX and glTF-authored shaders.
-
The
MtlX Hex Tiled Image samples data from a single image, with provisions for hex-tiling and randomizing the image across UV space.
-
The
MtlX Hex Tiled Normal Map samples data from a single normalmap, with provisions for hex-tiling and randomizing the image across UV space.
-
The
MtlX Lat Long Image samples an equiangular map along a view direction with adjustable latitudinal offset.
Node improvements ¶
-
The improved Karma Whitewater Material recipe now supports a specular layer over a uniform volume instead of having to render both features as separate primitives.
-
The
Karma Physical Sky LOP now supports portal lights. You can find an appropriate parameter under Sky ▸ Base.
-
The
Karma Texture Baker LOP now supports the
MtlX OpenPBR VOP shader.
-
The Karma Texture Baker LOP now has a Cage Mode parameter with three options: Topology Match, UV Match, and Cage Offset.
-
On the Karma Texture Baker LOP’s Images tab, there’s a new Save Mip Mapped Texture option that lets you create tiled images for efficient rendering.
-
The
Karma Sky Atmosphere LOP now ignores the camera far clip distance by default when calculating its contribution for primary rays. To go back to earlier behavior, you can turn off the Ignore Camera Far Clip option in the node’s Advanced section.
-
On the Render Settings LOP and Karma Render Settings LOP, the Pixel Filter Size parameter was removed.You can find a Pixel Filter Scale parameter instead. The new parameter is a scaling factor for the (internally pre-adjusted) default filter values. Note that backwards compatibility is supported.
-
On the Render Settings LOP’s Karma ▸ Global ▸ Shading tab section, you can now find MaterialX Filter Width and MaterialX Filter Blur parameters. The parameters are multipliers for the Karma Texture Controls on the
MaterialX Image VOP.
-
The
Camera LOP now includes several new exposure parameters from the USD library on the Sampling tab.
-
On the
SOP Crowd Import LOP you can now find Remove Agent Shapes and Remove Agent Layers parameters to exclude certain parts of the crude from the export to USD.
-
The
Mask from Bounds LOP’s Value parameter now supports the
color4Type. -
On the Render Geometry Settings LOP’s Dicing section, you can find a new Dicing Z-Importance parameter. This feature optimizes the tessellation rate and decreases memory consumption with lower values.
-
The
USD Render ROP’s Husk ▸ Python tab has new a new option for a Husk Post-Load script. You can now run a script after the USD stage was loaded, but before any render settings have been configured. A post-load script lets you, for example, define custom render settings. This option is also available for
husk.
Rendering & AOVs ¶
-
The
Karma Render Settings LOP now has a Camera’s Far Clip as Background Value option. This mode fills the Depth (Camera Space) AOV with the values of a camera’s far clip value. You can find the new toggle here: Image Output ▸ AOVs (Render Vars) ▸ Utility.
-
A new Split Render Products by Render Var option on the Image Output ▸ AOVs (Render Vars) tab of the Karma Render Settings LOP lets you create a separate file per RenderVar. The files will be suffixed with AOV names.
-
On the
Render Geometry Settings LOP’s Dicing section, you can now find a new Displacement Style: Bump Added to Displacement. This option greatly improves the quality of the displacement with low Dicing Quality values by blending displacement and bump mapping.
-
The camera lens shader’s OpenCV distortion now takes the image’s aspect into account. As a consequence, distortion with non-square renders will look differently.
-
Defining an overscan with the
Render Settings LOP’s and Karma Render Settings LOP’s Data Window NDC parameter is not always intuitive. A new convenient dropdown lets you choose from several pre-adjusted percentage values.
-
To write a material AOV, it was necessary to update each shader definition manually. On the Karma Render Settings LOP’s Image Output ▸ AOVs (Render Vars), you can now define a Global AOV material instead.
-
Stencil maps now support UDIMs.
-
The new Create Separate Denoised AOVs on the Karma Render Settings LOP creates separate AOVs for the source versions of the source AOVs. New AOVs will have a
_denoisesuffix. You can find this option in the Image Output ▸ Filters ▸ Image Filters section. -
A new global DCM Exclude Holdouts property in the
Karma Render Settings LOP prevents holdouts from generating deep samples.
-
Houdini now supports the
MotionAPIfor scaling motion blur.
Shading ¶
-
The Karma Uniform Volume Material material definition now uses the
Karma Volume VOP shader instead of the
Karma Pyro Shader VOP. This means that you no longer need a
densityfield and don’t have to deal with pyro-specific parameters. -
In Karma CPU, you can now use the
Karma Hair VOP and
Karma Fur VOP shaders with
MtlX Mix VOP.
-
Karma now supports collection-based trace sets.
Lighting ¶
-
On the Karma tab of every light node you can now find an Improve Volume Sampling (Equiangular MIS) toggle. This option significantly reduces noise when a light source is located within a volume or very close to it. Note that this feature doesn’t work with directional lights or environment lights.
-
Geometry lights now support instancing and light filters.
-
Geometry lights are now part of the internal light tree structure for more efficient rendering. See
Karma Render Settings LOP > Rendering ▸ Sampling ▸ Lights Quality ▸ Light Sampling Mode ▸ Light Tree.
-
Volume lights are now also part of the internal light tree structure for more efficient rendering. Rendering times should be significantly shorter, particularly when dealing with a large number of volume lights.
-
colorSpacemetadata is now added to physical lights to make sure that sun light is correctly interpreted. -
Rectangular area lights now have a option to flip attached maps. For example, on the
Light LOP’s Karma tab, you can find the Flip Rectangle Light Texture dropdown menu with options for flipping a map along the X, Y, or XY plane.
-
The
Geometry Light LOP now supports fixed VDB points.
Environment variables ¶
-
With Karma CPU, you can use partially opaque objects as geometry lights. To turn on this features. set the
KARMA_GEOLIGHT_PARTIAL_OPACITYenvironment variable to1.
Gaussian Splats (GSplats) ¶
Rendering and creating GSplats in Houdini 22 involves many different frameworks: TOPs, COPs, Karma, Solaris, and SOPs. In Solaris/Karma, you can find several fundamental improvements. To get you started, we recommend looking at the new ML Train GSplats from Karma recipe available from the Solaris tab menu.
-
Gaussian Splats now render with a noise-free algorithm, ensuring faster and improved results. This, however, does mean that some edge-case AOV and Holdout features may no longer work. You can still reactivate the older noisy/stochastic mode via the
KARMA_XPU_GSPLATS_RENDER_MODEenvironment variable. -
There are also many more improvements:
-
Over 40% faster rendering in the Houdini VK viewport
-
Inciplient support for casting and receiving shadows in the viewport
-
Higher quality, faster and more efficient Karma XPU rendering
-
Realtime playback of animated GSplats
-
Streamlined workflow for rigging and animation
-
Native support for USD’s
ParticleField3DGaussianSplatschema -
Round tripping from SOPs to LOPs using
SOP Import LOP
-
Tool set to convert 3D assets to GSplats using Karma and TOPs
-
Support for spherical harmonics
-
Relighting of GSplats
-
Other improvements ¶
-
Cache files for non mipmapped textures will now benefit from a new mode to control handling textures on network file systems. The new default behavior is to create a local texture file when a network texture is detected. This will help to avoid file locking issues on network drives. You can control this mode with the new
-networkflag in theHOUDINI_TEXTURE_DISK_CACHEenvironment variable. -
Mipmap computation is now done in linear color space for higher accuracy.
-
imaketxnow supports writing 16-bit float data to.txfiles. This means that you can use.txfiles instead of.rat, but.ratfiles still have some advantages.imaketxwill infer the format from the file name. -
Houdini now supports ACES 3.0.