Outputs#
The tables below list the RenderVar source names available for camera sensors,
grouped by render mode. Use the sourceName value as the sourceName
attribute on a RenderVar prim. Shapes are channel-last DLPack tensor shapes.
Click any example image to enlarge it. Buffer examples are decoded illustrations,
not raw image outputs.
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. 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.
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 sRGB color; uint8 channels decode to [0, 1]. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Linear HDR beauty color. Convert float16 to float32 before processing. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Direct illumination. The source name intentionally uses the renderer spelling |
||||
|
RGBA |
float16 |
|
|
Indirect illumination from bounced light. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Reflected radiance. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Transmitted radiance. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Subsurface-scattered radiance. Python/C pixel decoding. |
||||
|
RGBA |
float16 |
|
|
Surface emission. Python/C pixel decoding. |
||||
|
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 |
|
|
Normalized ray-hit distance, clamped to [0, 1] using the configured PT depth range; repeated in RGB. Python/C pixel decoding. |
||||
|
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 |
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. |
||||
|
XYZA |
float32 |
|
|
World-space surface normals. |
||||
|
Z |
float32 |
|
|
Deprecated. Unitless raster depth mapped from 1 (near clip plane) to 0 (far clip plane).
Use |
||||
|
Z |
float32 |
|
|
Euclidean distance from the camera origin to each surface point, in meters. |
||||
|
Z |
float32 |
|
|
Perpendicular distance from the image plane to each surface point, in meters. |
||||
|
RGBA |
uint8 |
|
|
Diffuse surface albedo (base color without lighting). |
||||
|
XYZA |
float32 |
|
|
Camera-space 3D position of each visible surface point, in scene units. |
||||
|
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 |
uint8 |
Buffer |
|
Packed metadata buffer mapping semantic IDs to label strings. Each entry contains |
||||
|
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 unlabelled hit. These indices can change as scene contents change. |
||||
|
BoundingBox2DValues |
uint8 |
|
|
Per-instance visible-pixel bounds. Each 24-byte record contains instance/tile IDs and integer pixel bounds. Reject records with inverted bounds. |
||||
|
BoundingBox2DValues |
uint8 |
|
|
Per-instance 2D bounds including occluded geometry. Same 24-byte layout as tight boxes. Reject records with inverted bounds. |
||||
|
BoundingBox3DValues |
uint8 |
|
|
Per-instance local 3D extents and a transform to world space. Each record is 96 bytes. |
||||
|
SemanticBoundingBox2DValues |
uint8 |
|
|
Visible-pixel bounds grouped by semantic instance. Each 48-byte record contains stable instance and semantic IDs plus pixel bounds. Read the trailing valid-record count. |
||||
|
SemanticBoundingBox2DValues |
uint8 |
|
|
2D bounds including occluded geometry, grouped by semantic instance. Same layout and trailing count as semantic tight boxes. |
||||
|
SemanticBoundingBox3DValues |
uint8 |
|
|
Local 3D extents and world transform grouped by semantic instance. Each record is 120 bytes; read the trailing valid-record count. |
||||
|
OcclusionValues |
uint8 |
|
|
Per-instance occluded fraction in [0, 1]. A ratio of -1 means no sampled hits. Each 12-byte record contains instance/tile IDs and a float32 ratio. |
||||
|
InstanceIdToken |
uint8 |
|
|
Runtime instance IDs mapped to opaque prim handles, prototype indices and instancer indices. A 24-byte header precedes 24-byte records. |
||||
|
uint32 array |
uint8 |
|
|
Runtime-instance-to-semantic-instance lookup. Reinterpret the byte buffer as uint32 indices; 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not |
||||
|
IdentifierMap |
uint8 |
|
|
New stable-ID/prim-path entries since the last generated delta. The first frame includes scene-creation entries. An unchanged scene returns a four-byte zero count. |
||||
|
IdentifierMap |
uint8 |
|
|
New semantic-ID/label entries since the last generated delta. Same packed layout as |
||||
|
CameraParams |
uint8 |
|
|
View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens parameters. |
||||
|
ID pairs |
uint8 |
|
|
Stable semantic-instance IDs mapped to semantic label IDs. Each 32-byte record contains uint32 stableId[4] followed by uint32 semanticId[4]. No trailing count. |
||||
The LPE row uses expression source names with sourceType = "lpe".
Other rows use the default raw source type.
See Decoding camera outputs for tested Python and C API decoding examples.
Debug Views#
Debug views replace the RenderProduct’s beauty output with diagnostic geometry data or heat maps. G-buffer views are available in Real-Time Path-Tracing and Path Tracing. These views are not available in Minimal mode. Author the target on the RenderProduct using the generated schema name:
string omni:rtx:debug:view:target = "normal"
Debug views do not create dedicated RenderVars. They replace the beauty destination:
The debug-view shader has already converted its diagnostic values to display colors. Applying HDR tonemapping changes the diagnostic colors. RenderVars such as NormalSD and DepthSD remain independent sensor outputs and are not changed by this setting.
See Python: Debug Views for a runnable example that renders and displays all of these views.