Render

Headless graph render

Render a saved .rj graph by giving Roji the render node to execute. The result is a layered USD package and the Roji Render command needed to render it.

Run a render node from a graph

The render node value can be the node id, label, or display name. Installed workstations and VM workers should call the global Roji launchers from PATH. If PATH is not configured, use the same commands from the installed Roji launcher directory, not a development checkout.

basic
roji_graph_render.cmd "%ROJI_PROJECT_ROOT%\shots\010\shot.rj" "Render01"
named arguments
roji_graph_render.cmd --graph "%ROJI_PROJECT_ROOT%\shots\010\shot.rj" --render-node "Render01"
compile only
roji_graph_render.cmd --graph "%ROJI_PROJECT_ROOT%\shots\010\shot.rj" --render-node "Render01" --compile-only --job-json "%ROJI_FARM_JOBS%\shot_010_render_job.json"
renderer override
roji_graph_render.cmd --graph "%ROJI_PROJECT_ROOT%\shots\010\shot.rj" --render-node "Render01" --render-exe roji_render.cmd
Real screenshot needed Render node selected in Roji Graph, showing the node label artists should pass as --render-node.

Headless graph render arguments

These arguments belong to roji_graph_render.cmd. The command prepares the same layered USD render package as the UI Render button, writes render_job.json, then launches roji_render.cmd unless compile-only mode is enabled.

ArgumentValuePurpose
<graph.rj>PathPositional graph file. Equivalent to --graph when the first positional value ends with .rj.
<render-node>Node id, label, or display namePositional render node selector. Equivalent to --render-node.
--graphPath to .rjSaved Roji graph document to load and compute.
--render-nodeNode id, label, or display nameRender node to execute inside the graph.
--render-exePath or commandOverrides the renderer launcher. Usually omitted so Roji uses the configured or installed roji_render.cmd.
--outputEXR pathOverrides the final render output path produced by the render node.
--layerLayer id or nameOverrides the active render layer for this launch.
--layer-idLayer id or nameAlias accepted by the runner for the active render layer override.
--render-layerLayer id or nameAlias accepted by the runner for the active render layer override.
--samplesPositive integerTemporary sample clamp for validation or farm tests. It preserves graph settings and only overrides this launch.
--compile-onlyFlagPrepares the render USD and job metadata, prints the job summary, and does not launch the renderer.
--job-jsonJSON pathWrites the render receipt to a specific path. If omitted, Roji writes render_job.json beside the prepared render USD.

Renderer arguments generated from the graph

roji_graph_render.cmd also builds the lower-level roji_render.cmd argument list from the render node. The exact list for a job is recorded in render_job.json under renderArgs.

GroupGenerated roji_render.cmd arguments
Scene and output<scene.usd>, -o <output.exr>, -w <width>, --height <height>, -spp <samples>
OCIO and preview color--ocio-config, --ocio-display, --ocio-view, --ocio-input-space, --ocio-scene-space, --ocio-exposure, --env-map-max-size
Camera, display and backend--camera, --display-mode, --backend, --no-visualizer-wire, --focus-distance, --f-stop, --no-dof
Workers, memory and diagnostics--threads, --cpu-usage, --embree-build-quality, --render-mode, --memory-mode, --low-memory-reserve-gb, --progressive-preview, --no-render-stats, --tile-size, --worker-debug
Sampling and light transport--min-spp, --max-spp, --variance-threshold, --adaptive-check, --pixel-filter, --light-samples, --emissive-light-samples, --caustics, --deep, --deep-mode, --deep-error, -bounces, --rr-start-bounce, --rr-min-prob
Subdivision and displacement--no-displacement, --disp-level, --embree-native-subdiv, --adaptive-subdiv-mode, --adaptive-subdiv-frustum-margin, --adaptive-subdiv-target-px, --cel-adaptive-tess-exclude, --cel-quality, --cel-subdiv
Instances--no-instances, --instance-density, --instance-camera-frustum, --instance-camera-frustum-margin
Roji H.U.G.E. archives--cel-archive, --cel-cache-budget-gb, --cel-max-entry-fraction, --cel-cache-physical-fraction, --cel-static-block-cost-multiplier, --cel-preload, --cel-super-scene, --cel-super-scene-budget-gb, --cel-skip-usd-geometry
AOVs and multilayer EXR--aov-albedo, --aov-normal, --aov-depth, --aov-object-id, --aov-diffuse-direct, --aov-diffuse-indirect, --aov-specular-direct, --aov-specular-indirect, --aov-transmission, --aov-caustics, --aov-emission, --aov-sss, --aov-light-groups, --light-group-preset, --aov-multilayer, --aov-multilayer-only, --aov-cryptomatte
Catcher passes and crop--shadow-catcher-path, --shadow-pass-hero-path, --reflection-catcher-path, --reflection-pass-hero-path, --crop-window
Custom AOVs, light groups and motion--custom-aov, --custom-aov-scope, --custom-aov-color, --disable-light-group, --light-group-gain, --sss-model, --shutter-open, --shutter-close, --motion-segments, --no-camera-motion-blur, --no-geometry-motion-blur

Farm render matches the Render button

Farm render and the UI Render button use the same render preparation path.

Graph compute

Runs the upstream graph connected to the render node.

USD inputs

Collects incoming USD live references from connected nodes.

Render layers

Builds camera, base USD, render overrides, Shaderverse look, and binding layers.

Renderer args

Builds the final command line Roji Render receives.

Real screenshot needed UI Render button next to a Render node preview, so artists can see the local render path this farm command matches.

Layered, not flattened

The final render USD is a lightweight composition file with sublayers.

LayerPurpose
Incoming USD refsThe assembled scene files connected into the render node.
Camera layerGenerated lookdev camera or explicit camera data.
Render override layerProducts, settings, AOVs, light linking, and metadata.
Shaderverse layersLook packages and resolved material binding data.
Final render USDA composition file that references the render layers with subLayers.

render_job.json

Every prepared render writes render_job.json. Treat it as the receipt for what rendered.

  • graphPath records the saved .rj file.
  • renderNodeId records the chosen render node.
  • usdFilePath points to the final layered USD.
  • args records the exact Roji Render command arguments.
  • sublayers and resolved refs explain what got composed.

Save the camera for farm renders

Camera caveat: an unsaved live viewport perspective camera is UI-only. For farm renders, save the intended camera as a camera node or set an explicit camera prim path.