On this page |
Overview ¶
Karma is Houdini’s new physically-based render engine. Being built as part of Solaris, Karma is available as two Hydra render delegates: Karma CPU and Karma XPU. USD serves as Karma’s only file format.
Here is an overly simplified outline of how USD scenes are rendered by Karma’s render delegates:
-
USD Stage is loaded and composed.
-
Hydra is initialized along with Karma.
-
Karma asks Hydra for all of the prims and their properties with 'default' or 'render' purpose. Karma will ask for values at multiple times, to render motion blur.
-
This begins the syncing process. Rendering doesn’t begin until it finishes all of its tasks.
-
Karma divides the image into buckets, and starts rendering.
-
Once all buckets are rendered, Karma will execute any image filters, such as the Intel or NVidia denoiser.
-
Render is now finished.
Render Delegates ¶
Karma is designed to be as low-latency as possible. Changes are ingested as quickly as Hydra provides them, so that Karma can begin re-rendering the scene with the latest updates.
Karma ships with two render delegates: Karma CPU, and Karma XPU. The biggest differences between the two, is the hardware they run on, and the shading languages each supports.
Note
In previous versions of Houdini, selecting Karma CPU and XPU engines was a render setting. It is good to be aware of this when opening hip files from Houdini 20.0 and earlier.
Unlike other renderers, Karma XPU is not an interactive preview version of Karma CPU. Karma CPU is built around VEX, while the XPU engine is a new engine built around Optix, and Embree. Karma XPU produces the exact same results no matter which combination of devices is used, so it can be used on machines with or without an Optix-compatible GPU.
See Karma and Karma XPU for more information.
Karma CPU ¶
-
CPU-only path tracing built on VEX.
-
Supports VEX, MaterialX and USD Preview shaders.
-
Supports nearly all shading functions built for Mantra.
Karma XPU ¶
-
Next-generation render engine, built to exploit GPU and CPU hardware for interactive feedback.
-
Currently only supports NVidia GPU hardware.
-
Supports MaterialX and USD Preview shaders, which are implemented in the engine with C++.
-
Does not support VEX shaders.
How to ¶
To... | Do this |
---|---|
Use Karma to render the Solaris viewer |
In Solaris, you can choose which Hydra delegate is used to draw the view of the scene, such as Houdini’s OpenGL renderer, Pixar’s Storm OpenGL renderer, Karma CPU, Karma XPU, or any third-party render delegate you have installed. Click the Viewport Options menu in the viewport and choose Karma.
|
Save viewport images to the render gallery |
(Snapshots taken this way do not capture all AOVs. You have to do a full render to get all the AOVs in the output.)
See the render gallery help for more information about creating and working with snapshots. |
Edit the render settings used in the viewer |
Click Display Options in the display toolbar (to the right of the viewer) or press D in the viewer. These render settings are saved with the current |
Display render stats in the viewer |
|
Set up a LOP network to do a full render |
See the help for the Karma LOP for more information. |
Next Materials