Latest news
Tips & GuidesHoudiniIPOPs Toolset

Guide to Setting Up Geometry and Volume AOVs in Houdini Karma

SideFX’s Houdini 20 and Houdini 21 tutorials show how to create and enable geometry and volume AOVs in Karma. This guide breaks down both workflows and their version differences.

A contemporary interior visualization highlighted with lighting and volume passesAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. The Geometry AOV tutorial is for Houdini 20, while the Volume AOV tutorial is for Houdini 21.
  2. In both workflows, settings are prepared on the SOP side and brought into Karma through LOPs.
  3. The Geometry example covers UV, position, and normal passes; the Volume example covers density, temperature, flame, and scattering passes.
  4. The Houdini 20 tutorial notes that MaterialX Ambient Occlusion is supported only in Karma CPU.

SideFX’s Houdini tutorials explain how to prepare geometry and volume AOVs in Karma and enable them as render variables. The geometry example was made with Houdini 20, and the volume example with Houdini 21. Both tutorials follow the same broad sequence: create the settings in SOPs, bring them into the scene at the LOPs stage, and connect the passes in a Karma material. This guide keeps the two methods separate: the nodes used and their version-specific steps are not identical.

AOVs are separate passes that let you adjust specific visual properties in compositing, independently of the main image. SideFX’s tutorials demonstrate them using a character, a soft body, and a fire simulation. The same approach may also be worth considering for architectural visualization, but the tutorials do not provide ready-made settings or examples for architectural scenes.

Choose the Houdini version and target passes first

  1. Choose the workflow based on your Houdini version. The Geometry AOV tutorial is labeled Houdini 20, and the Volume AOV tutorial Houdini 21. Evaluate node names and steps in the context of the relevant version; don’t treat the two tutorials as identical setups for a single version.

  2. Decide which passes you need before rendering. The geometry workflow demonstrates UV, position, and normal passes, as well as fresnel, XRay, Edge Detect, height, velocity, and noise passes. The volume workflow includes density, temperature, flame, scattering, height, velocity, gradient, motion vector, and mask options. Enabling only the passes you need helps keep the output set organized for its intended use; note, too, that the tutorials do not report any measured performance gains.

  3. Create a Scene Controller node. In both tutorials, the Scene Controller is described as an Object Node that tells the IPOPs toolset which material type is in use and helps select the viewer camera associated with the camera input. Connecting IPOPs SOP nodes to this control point is part of the approach for managing settings from a shared location.

Prepare Geometry AOVs

  1. Add a Geometry AOVs Bundle Maker SOP to the scene. Dive inside the geometry object and connect IPOPs Geometry AOVs Bundle Maker to the node to be rendered. The “Create Nulls” option in the parameters creates three nulls: “render_out” for rendering, “export” for converting settings into exportable attributes, and “viz” for quick visual previews.

  2. Import the geometry into LOPs. Copy the “render_out” path and enter it in the sopimport node in /stage. Then add IPOPs Geometry AOV Bundle to the geometry material inside Karma Material and click “Create Output.” This connects the Karma AOV node named “all_aovs” in the tutorial to the output. The tutorial notes that this node does not produce an image on its own; it is used to carry the other AOV information.

  3. Enable the required passes in Karma. Add an IPOPs Geometry Render Vars node before Karma Render LOP and enable the AOVs you plan to use. Before rendering, check the UV, position, and normal views in the “viz” null. In the tutorial, this visualization creates a basic scatter and point cloud view without making the geometry too heavy, so you can preview it quickly.

  4. Inherit or adjust material settings. In the relevant AOV tab inside the shader, the “Use Attributes” option brings SOP settings into the material. For example, for the height pass, you can choose Dynamic Bound, which varies according to the geometry’s bounds, instead of using a fixed range. For the velocity pass, the min and max values determine how velocity is distributed across the color ramp; the tutorial does not recommend specific numeric values.

Prepare Volume AOVs

  1. Use Volume AOV Bundle Maker. In the Houdini 21 tutorial, after connecting the volume to the node to be rendered, select “Create Nulls” on IPOPs Volume AOV Bundle Maker. As in the geometry example, this creates “render_out,” “export,” and “viz” nulls. Pass the “render_out” path to the sopimport node in /stage.

  2. Add AOV information to the volume shader. In the volume material inside Karma Material, create an IPOPs Volume AOV Bundle and click the “Karma AOVs” button. The tutorial says this connects a passthrough AOV named “all_aovs” to the output. If you’re using the modified density fields from Pyro Shader, unlock the shader and connect the density, temperature, flame, and scattering inputs to the Bundle. Then click “Create Output Connector” followed by “Create Output AOV.”

  3. Enable and preview render variables. Add IPOPs Volume Render Vars immediately before Karma Render LOP and enable the passes you plan to use. The “viz” null provides RGB views for density, temperature, flame, and scattering. For volume height, Dynamic Bounds automatically adjusts the bounds as the volume changes size, while Defined Bounds uses a fixed value starting from the ground. The velocity pass creates a gradient based on velocity, while the Gradient AOV is described as a way to highlight lighting, contours, and smoke edges. The Motion Vector pass helps add motion blur in compositing; Mask RGB allows color and brightness adjustments in areas defined by the SDF Mask VDB input.

Implications for architecture and archviz workflows

This setup offers a compositing approach that visualization teams can explore when they want to adjust specific visual properties separately after the final image is rendered. Geometry AOVs handle information such as surface position, edges, and velocity; volume AOVs separately handle density, depth, motion, and mask information in smoke-like volumes. How directly these can be applied to an architectural render depends on the scene and material. SideFX’s tutorials do not provide architectural examples, hardware recommendations, or render-time comparisons.

For compatibility, don’t copy nodes from the Houdini 20 and Houdini 21 tutorials between versions without checking them first. The Houdini 20 Geometry AOV tutorial, published on 9 July 2024, also notes that MaterialX Ambient Occlusion support was available only in Karma CPU at the time. This does not confirm the current support status. The IPOPs tutorial pages indicate that payment is required, but the sources do not list a price. Since the sources also do not explain the toolset’s licensing terms, verify access and usage conditions separately before production.

Common mistakes

  • Treating the viz null as the render output: the tutorial uses render_out for rendering and viz for previews.

  • Expecting the “all_aovs” node to produce an image on its own: the tutorial describes it as a passthrough that carries other AOV information.

  • Skipping the Render Vars step: in both the geometry and volume tutorials, the passes to be used are enabled in the relevant Render Vars node before Karma Render LOP.

  • Mixing up steps from the Geometry and Volume tutorials: the node names and tutorial versions differ; the volume shader workflow also includes steps to create an output connector and AOV.

  • Treating the Ambient Occlusion note as a guarantee of current compatibility: the Karma CPU note in the Houdini 20 tutorial refers to the time when the tutorial was published.

Sources

2 sources
S
sidefx.comsidefx.com/tutorials/houdini-ipops-volumes-aovs-for-karma-cpu-xpu-karma-materials
Summary
S
sidefx.comsidefx.com/tutorials/houdini-ipops-geometry-aovs-for-karma-cpu-xpu-karma-materials
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For visualization offices in Turkey, it makes sense to view AOVs as a workflow that enables selective adjustments after rendering. Separating velocity, mask, and density passes can make compositing decisions more controlled, particularly in scenes with smoke, fire, or similar volume effects. However, the tutorials provide no time savings or performance measurements, so the impact of additional passes on production time should be tested on the project.

Access and compatibility should also be part of the setup plan: the tutorial pages indicate that payment is required, but do not specify the price or the toolset’s licensing terms. It’s important not to mix the Houdini 20 and 21 examples, or present the 2024 MaterialX Ambient Occlusion note as current support information. A safer approach is to verify the node chain in a small test scene before moving it into a production template.

Frequently asked questions

How do you enable Geometry AOVs in Houdini Karma?

In SideFX’s tutorial, settings are prepared with Geometry AOVs Bundle Maker SOP, the geometry is brought in through `sopimport` in `/stage`, and an AOV output is created in the material. The required passes are enabled in an IPOPs Geometry Render Vars node added before Karma Render LOP.

Which Houdini version is the Volume AOV setup for?

SideFX’s Volume AOV tutorial was made with Houdini 21. The Geometry AOV tutorial is labeled Houdini 20.

Is MaterialX Ambient Occlusion supported in Karma XPU?

The Houdini 20 tutorial dated 9 July 2024 says that MaterialX Ambient Occlusion was supported only in Karma CPU at the time. This source does not confirm current Karma XPU support.

Comments and the forum are in Turkish.Join the discussion
+

Related news