GeoRender

The GeoRender node allows you to render a 3D scene in Hydra 2.0. You can switch render delegates and change renderer settings.

The Render Settings tab is dynamically populated based on the renderer you select. This uses either the delegate settings API path or the USD schema path, depending whether Use Schema Mode setting is turned off or on. By default, the GL renderer has this option turned off, and uses the delegate settings rather than the USD schema.

Note:  When Use Schema Mode is turned off, the settings displayed in the Render Settings tab will be dependent on what the delegate creator has provided to this path. This may not contain a full list of the render settings available in the renderer.

Delegates such as Pixar's Renderman instead should have the Use Schema Mode turned on. This allows for the default render settings and outputs displayed to be specified in the config of your USD scene. Use Schema Mode is required for renderers that support RenderSettings prims.

If a Schema has been created in your USD scene you will see them in the Scene Graph under the Render section, and any Variables specified under your Render Products will be automatically displayed in the Outputs tab of your GeoRender node.

Note:  Additional renderers can be setup by using the PXR_PLUGINPATH_NAME environment variable.

If nothing has been created in your USD scene, you will see no outputs or settings when you enable Use Schema Mode. If your schema is correctly populated in the format specified then it will auto-populate.

When the Use Schema Mode checkbox is enabled in your GeoRender node and no schema exists, you will need to provide a prim path to your Render Settings Prim and your Render Product Prim to populate your Renderer Settings and Outputs tabs in the node.

Learn more about this workflow at Rendering with GeoRender.

If you wish to edit the defaults of an existing render settings prim or create new ones, there is also a manual way to do this using the GeoRenderSetting node. See Creating and Editing Render Settings.

Tip:  Scene masking is also possible in GeoRender, so you can select masks to render only certain parts of your scene.

Note:  GeoRender does not render Nuke materials, only USD materials.

Note:  Note that Hydra renderers require in-scene lighting to see materials.

Inputs and Controls

Connection Type

Connection Name

Function

Input

camera

Connect to a camera in your scene and the scene is rendered from the perspective of this camera. If the camera input is not connected, GeoRender uses a default camera positioned at the origin and facing in the negative Z direction.

scene

Connect to the rest of your scene, this is usually a GeoScene node.

Control (UI)

Knob (Scripting)

Default Value

Function

GeoRender Tab

Format format root.format Sets the format to render out.
Renderer renderer GL

Specify a render delegate. Any render delegates you have set up will appear in the dropdown. This option dynamically populates the Renderer Settings below.

The default render delegate is GL. This acts as both the Hydra and "Nuke" renderers, depending on if you are viewing New 3D System or Classic 3D System nodes. When using GeoRender in the New 3D System, it acts as the default Hydra renderer.

Use Schema Mode render_settings_schema off

When Use Schema Mode is turned off, this uses the delegate settings API instead of the USD schema-based path to populate the render settings. This is turned off by default for GL.

When turned off, the settings displayed in the Render Settings tab will be dependent on what the delegate creator has provided to this path. This may not contain a full list of the render settings available in the renderer.

Use Schema Mode should be turned on for delegates such as Pixar's Renderman to use the USD schema to populate the Render Settings. Use Schema Mode is required for renderers that support RenderSettings prims.

Render Settings Prim render_settings_prim_path N/A When Use Schema Mode is turned on, select a RenderSettings prim from the scene to drive renderer-specific options.
Render Product Prim render_product_prim_path N/A When Use Schema Mode is turned on, select a RenderProduct prim to drive which AOVs appear in the Outputs tab. Only the variables declared under this product will be rendered.
Scene Masks
Prim Purpose Filter prim_purpose_
filter_mode
all

Filter input scene prims by their purpose attribute.

all: renders all prims regardless of purpose

default: renders prims based on default settings for the stage

render: renders all prims set to render purpose

proxy: renders all prims set to proxy purpose

guide: renders all prims set to guide purpose

all disables purpose filtering so everything renders, and if none are enabled then nothing will be rendered.

Objects (Mask)

objects_mask

//*

A path expression selecting which geometry prims to include in the render.

The default mask, //*, includes everything from the root of the scene graph. You can use standard glob-style variables, such as /*, to create masks or use individual prim names separated by spaces. For example, /GeoCube1 /GeoCard3 includes only those prims in the output scene.

Tip:  You can also use the cog menu, the Viewer picker, or drag and drop paths from the Scene Graph to create masks.

Lights (Mask)

lights_mask

//*

A path expression selecting which light prims to include in the render.

The default mask, //*, includes everything from the root of the scene graph. As you can see, you can use standard glob-style variables, such as /*, to create masks or use individual prim names separated by spaces. For example, /DirectLight1 /PointLight4 includes only those light prims in the output scene.

Tip:  You can also use the cog menu, the Viewer picker, or drag and drop paths from the Scene Graph to create masks.

Render Settings Tab
Renderer Settings (because this section is dynamically populated based on Renderer chosen, this page shows only the settings of the default Renderer, GL)
Enable Tiny Prim Culling enableTinyPrimCulling off Please refer to the render delegate documentation for more information on this setting.
Volume Step Size volumeRaymarching
StepSize
1 Step size when raymarching volume. Please refer to the render delegate documentation for more information on this setting.
Volume Lighting Step Size volumeRaymarching
StepSizeLighting
10 Step size when raymarching volume for lighting computation. Please refer to the render delegate documentation for more information on this setting.
Volume Field Texture Memory (Mb) volumeMaxTexture
MemoryPerField
128 Maximum memory for a volume field texture in Mb (unless overridden by field prim) Please refer to the render delegate documentation for more information on this setting.
Max Lights maxLights 16 Maximum number of lights Please refer to the render delegate documentation for more information on this setting.
Dome Light Camera Visibility domeLightCamera
Visibility
on Dome light camera visibility. Please refer to the render delegate documentation for more information on this setting.
Enable Exposure Compensation enableExposure
Compensation
on Enable exposure compensation Please refer to the render delegate documentation for more information on this setting.
Outputs Tab
[list] N/A

color: rgb

depth: none

depthStencil: none

cameraDepth: none

Neye: none

primId: none

instanceId: none

elementId: none

edgeId: none

pointId: none

Select Render Variables and Output Layer types to output when rendering.

When Use Schema Mode is off, if your delegate contains the following outputs, they will be listed in the outputs tab. Any of the below outputs that do not exist in your delegate will not be displayed.

color - The final fragment RGBA color. This is the shaded output of the render, with alpha pre-multiplied so it composites correctly.

depth - Clip-space depth of the final fragment. The post-projection Z value, suitable for use as a depth buffer or as a comparison with a depth buffer.

depthStencil - Clip-space depth packed together with an 8-bit stencil value. Same depth semantics as depth, but the buffer additionally carries per-fragment stencil bits used for masking, silhouettes, and multi-pass effects.

cameraDepth - Camera-space or view-space depth of the final fragment, with linear distance along the camera's -Z axis in world units. Unlike depth, it is not warped by the projection matrix, making it useful for DOF, fog, and world-space reconstruction.

Normal - Surface normal, typically in object or local space, as opposed to Neye which is in eye space. This provides the geometric or shading normal before view transformation.

Neye - Normal in eye space. The surface normal vector transformed into camera space, this is useful for view-dependent shading, SSAO, and screen-space effects.

Peye - Position in eye (view or camera) space. The 3D coordinate of the surface point transformed into the camera's coordinate system for example: camera at origin, looking down -Z.

patchCoord - Parametric patch coordinates. For tessellated surfaces i.e. subdivision surfaces or OpenSubdiv patches. This gives the (u, v) location within a patch plus patch identification info, and can be used for evaluating limit surfaces and displacement.

primitiveParam - Primitive parameterization data. Encodes per-fragment info tying a fragment back to its source primitive i.e. face index, edge/refinement info for subdivs, coarse face ID. Used for picking, edge rendering, and primvar lookup.

primId - ID of the Hydra prim that produced the fragment. Used for object-level picking and to route per-object information like selection highlights back from a rendered image.

instanceId - ID of the specific instance within an instancer that produced the fragment. Combined with primId, it uniquely identifies one instanced copy of a prim for instance-level picking and per-instance data lookup.

elementId - ID of the sub-element that produced the fragment i.e. face for meshes, curve for basis curves. This enables face/curve-level picking and per-face data queries.

edgeId - ID of the edge that produced the fragment. Populated where the fragment lies on or near a mesh edge; used for edge picking and wireframe or edge highlighting.

pointId - ID of the point or vertex that produced the fragment. Used for vertex or point picking on point clouds, curves, and control cages.