On this page

Previous Texture Maps

Overview

Solaris provides many ways and options for rendering. Most of them are generic to Solaris, and not specific to any given renderer. In this chapter we cover rendering workflows and tools with respect to Karma.

Render Delegate

Karma provides two render delegates. These can be selected in various ways, depending on the rendering method chosen. Which delegate you choose generally boils down to a few factors.

Engine

Reasons

Karma CPU

  • Rely on existing VEX shaders/features from Mantra

  • Require finer control over primary and secondary sampling

Karma XPU

  • Want to exploit CPU and GPU hardware for rendering

  • UsdMaterialX-based shading

Warning

Remember Karma CPU and Karma XPU are not guaranteed to be pixel compatible!

After choosing a render delegate for your production, stick with that choice when rendering locally or on a farm. Switching back and forth between Karma CPU and XPU delegates can be useful for debugging, but in production it should only be attempted due to critical look/feature tradeoffs.

Rendering Methods

Viewport

The LOPs viewport can be set to interactively render with Karma, or any available render delegate.

Render Gallery

Pane for interactive and background rendering, with network snapshots included.

USD Render ROP

Writes out temporary USD files, and renders them with husk.

USD Render Scene TOP

Streamlined rendering of USD scenes with PDG.

husk

Command-line rendering utility.

usdview

Stand-alone USD viewer, which is a standard part of the USD library.

Clones

  • Useful for rendering variations of a shot or asset

  • Can open the door for more multi-shot workflows

  • One computer only ever uses a single Karma and Houdini license at a time, no matter how many clones are running on it

  • See Clone control pane for more details

Logs

  • Add the Log Viewer pane to your desktop, if it’s not already present in your Houdini session, to inspect render output.

  • Karma defaults to a verbosity level 3, which provides a good balance of info, without becoming overwhelming or impacting performance.

Stats

Karma and husk provide useful statistics for inspecting renders. A sub-set of the stats can be visible interactively in the Render Gallery. However a comprehensive report can be generated using the renderstatsreport commandline utility.

Tip

For best results, adding the “Optimization AOVs” Quick Setup can provide more data to the report.

Karma Render Stats

Overview of stats available to Karma and Solaris

renderstatsoverlay

Generate image with baked-in stats.

renderstatsreport

Produce a self-contained HTML report from an image’s stats.

Misc

  • The only way to “freeze” Karma’s random number generator (RNG) is to add the commandline argument --lock-random 1

  • Karma supports Cryptomatte for setting up automatic masks/mattes. See the Karma Cryptomatte helpcard for more details.

  • When USD 23.11 was released, a new guide for rendering was included: https://openusd.org/release/user_guides/render_user_guide.html. This is a valuable resource, but keep in mind it may refer to features and workflows not available in Houdini 20.5 or earlier.

Previous Sampling

Karma User Guide

Appendices