On this page | |
Since | 18.0 |
Overview
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.
Configuration
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.
See the help for the Render Settings LOP,
Render Product LOP, and
Render Var LOP for more information about creating USD render settings.
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.
Available renderers
-
The list of renderers is filtered based on the data returned by the
usdrenderers.py
script. The husk utility, and by extension the USD Render node, only support renderers that can generate AOV buffers (that is, renderers whoseaovsupport
attribute isTrue
). -
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).
Tip
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 TF_DEBUG
to PLUG_*
, which causes the USD library to print out useful information as it scans for and loads plug-ins.
Parameters
Save to Disk
Click to render out the image(s).
Controls
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.
Start/End/Inc
When Valid frame range is "Render frame range" or "Render frame range (strict)", the start and end frames (inclusive) and interval.
Preroll/Postroll/Inc
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.
LOP Path
Render the USD stage output by this node.
Renderer
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.
Render Settings
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 RenderSettings
.
Resolver Context Asset Path
This file path is passed to the render command line as the resolver-context
option. This argument is used to create an asset resolver context that helps the asset resolver find files while composing the USD stage. The default of this parameter is an expression that returns the corresponding parameter on the LOP Network that contains the selected LOP path
Render Command
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.
Snapshot interval
When this is on, the renderer writes out a snapshot file and partial image at every interval of this many seconds.
Verbosity
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
Causes Houdini to freeze after starting the render process, and only resume when the renderer exits. (This is included mostly for parameter parity with the old Mantra render nodes. It may be useful to implement a crude form of dependency ordering when batch rendering.)
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.
Option Name
For each option, the name of the option. You can reference this option in an expression using @name
.
Option Type
For each option, the type of data stored in the option, either a floating point number of a string.
Option Value
For each option, the value of the option (while this node writes out USD).
Pre-Render Script
This command is run once, before any files are generated.
Pre-Frame Script
This command is run before each frame is generated.
Post-Frame Script
This command is run after each frame is generated.
Post-Render Script
This command is run once, after all files have been generated.
Strip Layers Above Layer Breaks
Enable this option to prevent layers authored above Layer Break nodes from being written to disk by this ROP. This allows a Layer Break node to dictate which portions of the LOP Network are to be saved. Disabling this option allows this behavior to be overridden, forcing the full stage authored by the LOP network to be written to disk. This may be used for debugging purposes, or to write a complete scene to disk for rendering.
Initialize Simulation OPs
Initialize DOP simulations before rendering.
Create Intermediate Directories
Create intermediate parent directories for output files as needed, such as for generated images.
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.