Outputs#
The tables below list the RenderVar source names available for camera sensors, grouped by render mode. Shapes are channel-last DLPack tensor shapes.
Use the sourceName value as the sourceName attribute on a RenderVar prim.
Click any example image to enlarge it. Buffer examples are decoded illustrations,
not raw image outputs.
Bounding boxes, occlusion, identifier maps, instance maps, and stable-to-semantic
ID pairs expose named, typed tensors through
ovrtx_render_var_output_t. Field tensors may be strided views of one
allocation. Semantic boxes also expose valid_count on the requested device;
only the first valid_count[0] rows are populated. Keep the mapping alive
while using its tensors. Token-map range and tile metadata are CPU parameters;
CameraParams contains only CPU parameters. Structured outputs use schema version 0.
Note
The example images for non-color outputs have been remapped for easier visualization
and do not represent raw output values. All output example images in the table were
generated from the semantic-segmentation example.
Real-Time Path Tracing and Minimal use 50 warmup frames; Path Tracing uses one frame at 128 samples per pixel after an initial step that creates instances for selection. The robots then move for a separate motion capture, whose hue shows direction and brightness shows displacement (20 pixels reaches full brightness).
Bounding-box overlays show only robot geometry: raw box outputs show individual parts,
while semantic box outputs show one aggregate box per top-level robot. Colors distinguish
robots. 3D corners are transformed to world space and projected using CameraParams.
SelectionState previews decode each of the four coverage samples before
averaging their colors. Selected robots use cyan (group 1), orange (group 2),
and purple (group 3); visible samples have full brightness, hidden samples 25%,
and background is black. These colors illustrate data, not renderer styling.
Occlusion colors loose part boxes from green (visible) to red (occluded); invalid ratios are omitted.
ID-map examples pair an annotated scene with decoded metadata; delta examples use their first-frame entries.
|
Format |
Type |
Shape |
Example |
|---|---|---|---|---|
|
RGBA |
uint8 |
|
|
Tone-mapped color in sRGB space. Standard final image output suitable for display or saving as PNG/JPEG. |
||||
|
RGBA |
float16 |
|
|
Linear-space HDR color preserving full scene luminance (the beauty output; see the Glossary).
Use for post-processing, compositing, or linear-space workflows.
Delivered as float16 unless the RenderProduct sets |
||||
|
Four coverage samples |
uint16 |
|
|
Selected-surface classification at output resolution. Each channel stores group in bits 0–7 (zero means background) and visibility in bit 8 (1 visible, 0 hidden); bits 9–15 are zero. Channels are adaptive coverage samples, not RGBA colors. Only the nearest selected surface is represented; objects sharing a group form one mask. Requesting this output replaces the built-in selection overlay for this RenderProduct. XR foveation unwarp is unsupported: the output is cleared and a warning is logged. Disable unwarp to read selection in warped coordinates. See the selection SPG example for custom outlines, fills, and hidden-surface cross-hatching. |
||||
|
XYZA |
float32 |
|
|
World-space surface normals. |
||||
|
Z |
float32 |
|
|
Deprecated and still delivered; use |
||||
|
Z |
float32 |
|
|
Euclidean distance from the camera origin to each surface point, in meters whatever the stage’s |
||||
|
Z |
float32 |
|
|
Perpendicular distance from the image plane to each surface point, in meters whatever the stage’s |
||||
|
RGBA |
uint8 |
|
|
Diffuse surface albedo (base color without lighting). |
||||
|
XYZA |
float32 |
|
|
Camera-space 3D position of each visible surface point, in scene units, with W = 1. A pixel whose ray hit nothing has W = 0 and holds a point far along the ray, so test W rather than the position magnitude to find background; a min/max-stretched preview of the raw values comes out flat. |
||||
|
XYZW |
float32 |
|
|
Backward screen-space displacement in pixels: add XY to the current pixel position to find its previous-frame position.
Z is the previous-frame occlusion flag; W indicates a geometric hit within the occlusion-check range.
Invalid correspondences are |
||||
|
ID |
uint32 |
|
|
Per-pixel semantic ID. Decode |
||||
|
IdentifierMap |
Named tensors |
|
|
Semantic IDs and UTF-8 labels as uint32 IDs, uint64 offsets and uint8 label bytes. Row order, sparse empty rows and all four ID words are preserved. |
||||
|
ID[4] |
uint32 |
|
|
Stable ID of the semantic prim associated with each pixel. Maintain a prim-path lookup from |
||||
|
ID[4] |
uint32 |
|
|
Stable geometry-instance ID per pixel. The four words form one identifier, including its subset component. Background is all zeros. |
||||
|
ID |
uint32 |
|
|
Runtime semantic-instance index plus 2 per pixel. Zero is background; 1 is an unlabeled hit. These indices can change as scene contents change. |
||||
|
BoundingBox2D |
uint32, int32 |
Named tensors |
|
Per-instance visible-pixel bounds: |
||||
|
BoundingBox2D |
uint32, int32 |
Named tensors |
|
Per-instance bounds including occluded geometry: |
||||
|
BoundingBox3D |
uint32, float32 |
Named tensors |
|
Per-instance local |
||||
|
SemanticBoundingBox2D |
uint32, int32 |
Named tensors |
|
Visible-pixel bounds grouped by semantic instance: |
||||
|
SemanticBoundingBox2D |
uint32, int32 |
Named tensors |
|
Bounds including occluded geometry grouped by semantic instance: |
||||
|
SemanticBoundingBox3D |
uint32, float32 |
Named tensors |
|
Local |
||||
|
Occlusion |
uint32, float32 |
Named tensors |
|
|
||||
|
InstanceIdTokenMap |
uint32, uint64 |
Named tensors + CPU params |
|
|
||||
|
InstanceMap |
uint32 |
|
|
Runtime-instance-to-semantic-instance lookup. 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not |
||||
|
IdentifierMap |
Named tensors |
|
|
Stable IDs and USD prim paths as uint32 IDs, uint64 offsets and uint8 UTF-8 bytes. Repeated IDs retain their separate rows. |
||||
|
IdentifierMap |
Named tensors |
|
|
New stable-ID/prim-path entries since the last generated delta, using the named identifier-map tensors.
The first frame includes scene-creation entries; an empty delta has zero rows and |
||||
|
IdentifierMap |
Named tensors |
|
|
New semantic-ID/label entries since the last generated delta, using the same named tensors as |
||||
|
CameraParams |
Named CPU params |
No tensors |
|
View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens fields as named CPU parameters, for every requested mapping device. |
||||
|
StableIdSemanticIdMap |
uint32 |
Named tensors |
|
|
||||
|
Format |
Type |
Shape |
Example |
|---|---|---|---|---|
|
RGBA |
uint8 |
|
|
Tone-mapped sRGB color; uint8 channels decode to [0, 1]. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Linear-space HDR color preserving full scene luminance (the beauty output; see the Glossary).
Use for post-processing, compositing, or linear-space workflows.
Delivered as float16 unless the RenderProduct sets |
||||
|
RGBA |
float16 |
|
|
Direct diffuse reflection. The source name intentionally uses the renderer spelling |
||||
|
RGBA |
float16 |
|
|
Indirect diffuse reflection. Excludes the glossy reflection and transmission passes. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Direct and indirect glossy/specular reflection, including direct highlights. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Direct and indirect glossy/specular transmission. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Direct and indirect diffuse transmission, including the subsurface-scattering contribution. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Camera-visible emission, lights, and environment misses. Includes the visible background. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Direct and indirect volume-scattering contribution. Include in the seven-pass sum. The captured RGB values are zero in this scene. |
||||
|
RGBA |
float16 |
|
|
Separate background output for background/matte workflows. Do not add it to the seven-pass sum: visible background is already included. The captured RGB values are zero in this scene. |
||||
|
RGBA |
float16 |
|
|
Accumulated radiance before denoising. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
World-space geometric normal in XYZ, averaged across samples; edges can have length below one. Display [-1, 1] as [0, 1]. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
World-space hit position in XYZ, in scene units. The preview rescales each coordinate. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
View-space normal in XYZ, averaged across samples. Display [-1, 1] as [0, 1]. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Ray-hit distance normalized linearly over the depth range from |
||||
|
RGBA |
float16 |
|
|
Diffuse material color filter in RGB. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Reflection material color filter in RGB. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Transmission material color filter in RGB. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Subsurface material albedo at the first camera hit, estimated from volume absorption and scattering coefficients and weighted by diffuse transmission. PtSubsurfaceScattering also includes diffuse transmission without volume scattering, so it can be nonzero while this filter is zero, for example with thin-walled materials. Like the other filters, this is not an additive beauty pass. The captured RGB values are zero in this scene. |
||||
|
RGBA |
float32 |
|
|
RGB radiance in RGB rendering; spectral rendering stores CIE Y in each RGB channel. The preview log-compresses values and scales them to the 99th percentile. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
RGB irradiance at the first surface, evaluated with a unit Lambertian material. The preview log-compresses values and scales them to the 99th percentile. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
XY screen displacement in pixels; Z change in view-space depth. W is 1. Motion is captured after moving the robots. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Each RGBA component holds independent coverage for a selected geometry or material ID, from 0 to 1.
Configure |
||||
Light Path Expressions |
RGBA |
float16 |
|
|
Up to nine expression outputs, authored with |
||||
|
RGBA |
float32 |
|
|
World-space shading normal, including material bump, in XYZ. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Half-precision shading-normal diagnostic. Python/C pixel decoding. |
||||
|
RGBA |
uint8 |
|
|
Diffuse material RGB color, stored as UNORM bytes. Python/C pixel decoding. |
||||
|
RGBA |
uint8 |
|
|
Specular material RGB color, stored as UNORM bytes. Python/C pixel decoding. |
||||
|
Scalar |
float32 |
|
|
Linear view-space depth in scene units. Ignore the float32 maximum-value miss sentinel. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
XY screen displacement in pixels and Z view-depth change; W is 1. Python/C pixel decoding. |
||||
|
XY |
float32 |
|
|
Dilated screen displacement in pixels, in XY. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
Dilated XY screen displacement in pixels and Z view-depth change; W is 1. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
World-space displacement in XYZ, in scene units; W is 1. The preview shows XY direction and scales magnitude to the captured 99th percentile. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
RGB surface emission and W foreground mask. Python/C pixel decoding. |
||||
|
RGBA |
uint8 |
|
|
Material roughness in the blue channel, stored as a UNORM byte. The preview displays blue as grayscale. Python/C pixel decoding. |
||||
|
Scalar |
float16 |
|
|
Disocclusion mask in [0, 1]. The preview displays it directly as grayscale. Python/C pixel decoding. |
||||
|
RGBA |
float32 |
|
|
View-space position in XYZ, in scene units. The preview rescales each coordinate. Python/C pixel decoding. |
||||
|
Scalar |
float32 |
|
|
Normalized reversed clip depth for XR composition. Python/C pixel decoding. |
||||
|
Four coverage samples |
uint16 |
|
|
Selected-surface classification at output resolution. Each channel stores group in bits 0–7 (zero means background) and visibility in bit 8 (1 visible, 0 hidden); bits 9–15 are zero. Channels are adaptive coverage samples, not RGBA colors. Only the nearest selected surface is represented; objects sharing a group form one mask. Requesting this output replaces the built-in selection overlay for this RenderProduct. XR foveation unwarp is unsupported: the output is cleared and a warning is logged. Disable unwarp to read selection in warped coordinates. See the selection SPG example for custom outlines, fills, and hidden-surface cross-hatching. |
||||
|
XYZA |
float32 |
|
|
World-space surface normals. |
||||
|
Z |
float32 |
|
|
Deprecated and still delivered; use |
||||
|
Z |
float32 |
|
|
Euclidean distance from the camera origin to each surface point, in meters whatever the stage’s |
||||
|
Z |
float32 |
|
|
Perpendicular distance from the image plane to each surface point, in meters whatever the stage’s |
||||
|
RGBA |
uint8 |
|
|
Diffuse surface albedo (base color without lighting). |
||||
|
XYZA |
float32 |
|
|
Camera-space 3D position of each visible surface point, in scene units, with W = 1. A pixel whose ray hit nothing has W = 0 and holds a point far along the ray, so test W rather than the position magnitude to find background; a min/max-stretched preview of the raw values comes out flat. |
||||
|
XYZW |
float32 |
|
|
Backward screen-space displacement in pixels: add XY to the current pixel position to find its previous-frame position.
Z is the previous-frame occlusion flag; W indicates a geometric hit within the occlusion-check range.
Invalid correspondences are |
||||
|
ID |
uint32 |
|
|
Per-pixel semantic ID. Decode |
||||
|
IdentifierMap |
Named tensors |
|
|
Semantic IDs and UTF-8 labels as uint32 IDs, uint64 offsets and uint8 label bytes. Row order, sparse empty rows and all four ID words are preserved. |
||||
|
ID[4] |
uint32 |
|
|
Stable ID of the semantic prim associated with each pixel. Maintain a prim-path lookup from |
||||
|
ID[4] |
uint32 |
|
|
Stable geometry-instance ID per pixel. The four words form one identifier, including its subset component. Background is all zeros. |
||||
|
ID |
uint32 |
|
|
Runtime semantic-instance index plus 2 per pixel. Zero is background; 1 is an unlabeled hit. These indices can change as scene contents change. |
||||
|
BoundingBox2D |
uint32, int32 |
Named tensors |
|
Per-instance visible-pixel bounds: |
||||
|
BoundingBox2D |
uint32, int32 |
Named tensors |
|
Per-instance bounds including occluded geometry: |
||||
|
BoundingBox3D |
uint32, float32 |
Named tensors |
|
Per-instance local |
||||
|
SemanticBoundingBox2D |
uint32, int32 |
Named tensors |
|
Visible-pixel bounds grouped by semantic instance: |
||||
|
SemanticBoundingBox2D |
uint32, int32 |
Named tensors |
|
Bounds including occluded geometry grouped by semantic instance: |
||||
|
SemanticBoundingBox3D |
uint32, float32 |
Named tensors |
|
Local |
||||
|
Occlusion |
uint32, float32 |
Named tensors |
|
|
||||
|
InstanceIdTokenMap |
uint32, uint64 |
Named tensors + CPU params |
|
|
||||
|
InstanceMap |
uint32 |
|
|
Runtime-instance-to-semantic-instance lookup. 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not |
||||
|
IdentifierMap |
Named tensors |
|
|
Stable IDs and USD prim paths as uint32 IDs, uint64 offsets and uint8 UTF-8 bytes. Repeated IDs retain their separate rows. |
||||
|
IdentifierMap |
Named tensors |
|
|
New stable-ID/prim-path entries since the last generated delta, using the named identifier-map tensors.
The first frame includes scene-creation entries; an empty delta has zero rows and |
||||
|
IdentifierMap |
Named tensors |
|
|
New semantic-ID/label entries since the last generated delta, using the same named tensors as |
||||
|
CameraParams |
Named CPU params |
No tensors |
|
View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens fields as named CPU parameters, for every requested mapping device. |
||||
|
StableIdSemanticIdMap |
uint32 |
Named tensors |
|
|
||||
The LPE row uses expression source names with sourceType = "lpe".
Other rows use the default raw source type.
|
Format |
Type |
Shape |
Example |
|---|---|---|---|---|
|
RGBA |
uint8 |
|
|
Simple-shaded color in sRGB space. Standard final image output suitable for display or saving as PNG/JPEG. |
||||
|
XYZA |
float32 |
|
|
World-space surface normals. |
||||
|
Z |
float32 |
|
|
Deprecated and still delivered; use |
||||
|
Z |
float32 |
|
|
Unitless reversed clip depth, from 1 (near clip plane) to 0 (far clip plane).
Both names expose the same depth values as |
||||
|
Z |
float32 |
|
|
Euclidean distance from the camera origin to each surface point, in meters whatever the stage’s |
||||
|
Z |
float32 |
|
|
Perpendicular distance from the image plane to each surface point, in meters whatever the stage’s |
||||
|
RGBA |
uint8 |
|
|
Diffuse surface albedo (base color without lighting). |
||||
|
XYZA |
float32 |
|
|
Camera-space 3D position of each visible surface point, in scene units, with W = 1. A pixel whose ray hit nothing has W = 0 and holds a point far along the ray, so test W rather than the position magnitude to find background; a min/max-stretched preview of the raw values comes out flat. |
||||
|
XYZW |
float32 |
|
|
Backward screen-space displacement in pixels: add XY to the current pixel position to find its previous-frame position.
Z is the previous-frame occlusion flag; W indicates a geometric hit within the occlusion-check range.
Invalid correspondences are |
||||
|
ID |
uint32 |
|
|
Per-pixel semantic ID. Decode |
||||
|
IdentifierMap |
Named tensors |
|
|
Semantic IDs and UTF-8 labels as uint32 IDs, uint64 offsets and uint8 label bytes. Row order, sparse empty rows and all four ID words are preserved. |
||||
|
ID[4] |
uint32 |
|
|
Stable ID of the semantic prim associated with each pixel. Maintain a prim-path lookup from |
||||
|
ID[4] |
uint32 |
|
|
Stable geometry-instance ID per pixel. The four words form one identifier, including its subset component. Background is all zeros. |
||||
|
ID |
uint32 |
|
|
Runtime semantic-instance index plus 2 per pixel. Zero is background; 1 is an unlabeled hit. These indices can change as scene contents change. |
||||
|
BoundingBox2D |
uint32, int32 |
Named tensors |
|
Per-instance visible-pixel bounds: |
||||
|
BoundingBox2D |
uint32, int32 |
Named tensors |
|
Per-instance bounds including occluded geometry: |
||||
|
BoundingBox3D |
uint32, float32 |
Named tensors |
|
Per-instance local |
||||
|
SemanticBoundingBox2D |
uint32, int32 |
Named tensors |
|
Visible-pixel bounds grouped by semantic instance: |
||||
|
SemanticBoundingBox2D |
uint32, int32 |
Named tensors |
|
Bounds including occluded geometry grouped by semantic instance: |
||||
|
SemanticBoundingBox3D |
uint32, float32 |
Named tensors |
|
Local |
||||
|
Occlusion |
uint32, float32 |
Named tensors |
|
|
||||
|
InstanceIdTokenMap |
uint32, uint64 |
Named tensors + CPU params |
|
|
||||
|
InstanceMap |
uint32 |
|
|
Runtime-instance-to-semantic-instance lookup. 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not |
||||
|
IdentifierMap |
Named tensors |
|
|
Stable IDs and USD prim paths as uint32 IDs, uint64 offsets and uint8 UTF-8 bytes. Repeated IDs retain their separate rows. |
||||
|
IdentifierMap |
Named tensors |
|
|
New stable-ID/prim-path entries since the last generated delta, using the named identifier-map tensors.
The first frame includes scene-creation entries; an empty delta has zero rows and |
||||
|
IdentifierMap |
Named tensors |
|
|
New semantic-ID/label entries since the last generated delta, using the same named tensors as |
||||
|
CameraParams |
Named CPU params |
No tensors |
|
View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens fields as named CPU parameters, for every requested mapping device. |
||||
|
StableIdSemanticIdMap |
uint32 |
Named tensors |
|
|
||||
See Decoding camera outputs for tested Python and C API decoding examples.
Debug Views#
Debug views replace the RenderProduct’s beauty output, the shaded color image
that normally lands in LdrColor and HdrColor, with diagnostic geometry
data or heat maps. Most of them visualize the G-buffer: the per-pixel geometry
attributes such as depth, normals, texture coordinates and identifiers that the
renderer resolves before shading. Both terms are in the
Glossary. Debug views need Real-Time
Path Tracing or Path Tracing; Minimal does not serve them. Select a view by
authoring its token on the RenderProduct:
string omni:rtx:debug:view:target = "normal"
Debug views do not create dedicated RenderVars. They replace the beauty destination:
Debug views arrive already converted to display colors, so convert a view read
from HdrColor to 8-bit directly; applying HDR
tonemapping would change the diagnostic colors. RenderVars such as
NormalSD and DepthSD
remain independent sensor outputs and are not changed by
omni:rtx:debug:view:target.
See Python: Debug Views for a runnable example that renders and displays all of these views.