|On this page|
This node writes the USD generated by a LOP network to a temp file, then launches an external process (by default, husk) to render an image or image sequence from the USD.
Rendering uses the same USD interface (Hydra) as is used to render the Solaris viewport, but instead of displaying the generated pixel buffers, the renderer saves them to image files. You can choose to render using any Hydra client registered with USD.
Traditionally in Houdini, the renderer was configured using parameters on the render node. In USD, however, render settings are stored in a
RenderSettings primitive in the scene tree.
The parameters on this node primarily deal with launching the render process, with just a few options to override key options for controlling the render.
The list of renderers is filtered based on the data returned by the
usdrenderers.pyscript. The husk utility, and by extension the USD Render node, only support renderers that can generate AOV buffers (that is, renderers whose
To render to other delegates, such as Houdini GL and Storm, that do not support AOV generation, use the OpenGL ROP (this basically updates the viewport and takes a snapshot of its contents).
You need to make sure the render delegate is found by the USD plug-in search, using the
PXR_PLUGINPATH_NAME environment variable.
You can also set the environment variable
PLUG_*, which causes the USD library to print out useful information as it scans for and loads plug-ins.
Save to Disk
Click to render out the image(s).
Click to open a dialog that lets you launch a "one-off" render with different frame range and dependency settings.
Valid Frame Range
Render Current Frame
Render the current frame number (in the playbar).
Render Frame Range
Render each frame in the range set by the Start/End/Inc parameters below.
Render Frame Range (Strict)
The "Render Frame Range" option may generate frames outside the given range if they're requested by a render dependency. If you choose this option, this node will never render frames outside the given range.
Render Frame Range From Stage
Examines the USD stage of the source LOP node for a start and end timecode value. These are used as the start and end of the frame range to render. If the stage does not have this metadata set, executing a render operation will result in an error.
When Valid frame range is "Render frame range" or "Render frame range (strict)", the start and end frames (inclusive) and interval.
When Valid frame range is "Render stage’s frame range", the number of frames before and after the stage’s official start and end frame to save, and the interval between time samples.
Render All Frames With a Single Process
Render all frames in a background process. Default is off. This allows continued interaction with Houdini while the render process runs.
To render multiple frames, the render process renders an image then advances the time on the scene and renders the next image (just like how the Solaris viewport plays back animation). If there is a lot of data shared between frames, this can render significantly faster compared to rendering a single frame per process.
Render with Take
Render with the parameter values stored in this take.
Render the USD stage output by this node.
The Hydra client to use to render the images. The default is Karma. Alternate Hydra clients must be registered with Houdini’s USD libraries. See how the node gets the list of available renderers above.
Scene graph path to the
RenderSettings prim to render with. (If this is blank, the node looks for default render settings on the root prim. If the root prim has no render settings, the node will use default settings.)
Override Output Image
If this is not blank, render to this file path instead of the output specified in the
The executable to launch to render the generated USD. The default is
husk (the husk command line render utility), which does the work to feed the USD data through the Hydra interface to the renderer. You can add command line arguments to this string.
When this is on, the renderer writes out a checkpoint file and partial image at every interval of this many seconds.
How much information to print out while rendering. Normally you should avoid "Full with VEX profiling" (slow) or "Full with VEX Profiling and NaN checks" (very slow), though they may be useful for debugging.
Block Until Render Completes
Number of Options
Lets you specify context options that only apply while rendering from this node. Set the number of context options to define/override, or use the plus and minus buttons to add or remove options.
You could have two separate render nodes with different context options, so they would write out different USD from the same LOP network depending on uses of
@contextoption references in expressions. This could be useful for wedging, or to cause the LOP network to configure the stage in ways that are not good for interactively, but useful for rendering.
For each option, the name of the option. You can reference this option in an expression using
For each option, the type of data stored in the option, either a floating point number of a string.
For each option, the value of the option (while this node writes out USD).
This command is run once, before any files are generated.
This command is run before each frame is generated.
This command is run after each frame is generated.
This command is run once, after all files have been generated.
Initialize Simulation OPs
Initialize DOP simulations before rendering.
Alfred Style Progress
Print percentage complete value as files are written. This is in the style expected by Pixar’s Alfred render queue.
Report Network Use
Print the number of bytes sent or received by the distributed simulation nodes during cooks triggered by this node.
This does not track network usage from, for example, saving a file to an NFS mount. It only tracks the network communication of distributed Houdini nodes.