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.

sourceName

Format

Type

Shape

Example

LdrColor

RGBA

uint8

(H, W, 4)

../../_images/LdrColor.avif

Tone-mapped color in sRGB space. Standard final image output suitable for display or saving as PNG/JPEG.

HdrColor

RGBA

float16

(H, W, 4)

../../_images/HdrColor.avif

Linear-space HDR color preserving full scene luminance. Use for post-processing, compositing, or linear-space workflows.

NormalSD

XYZA

float32

(H, W, 4)

../../_images/NormalSD.avif

World-space surface normals.

Python/C decoding.

DepthSD

Z

float32

(H, W, 1)

../../_images/DepthSD.avif

Deprecated. Unitless raster depth mapped from 1 (near clip plane) to 0 (far clip plane). Use DistanceToImagePlaneSD or DistanceToCameraSD instead.

Python/C decoding.

DistanceToCameraSD

Z

float32

(H, W, 1)

../../_images/DistanceToCameraSD.avif

Euclidean distance from the camera origin to each surface point, in meters.

Python/C decoding.

DistanceToImagePlaneSD

Z

float32

(H, W, 1)

../../_images/DistanceToImagePlaneSD.avif

Perpendicular distance from the image plane to each surface point, in meters.

Python/C decoding.

DiffuseAlbedoSD

RGBA

uint8

(H, W, 4)

../../_images/DiffuseAlbedoSD.avif

Diffuse surface albedo (base color without lighting).

Python/C decoding.

Camera3dPositionSD

XYZA

float32

(H, W, 4)

../../_images/Camera3dPositionSD.avif

Camera-space 3D position of each visible surface point, in scene units.

Python/C decoding.

TargetMotionSD

XYZW

float32

(H, W, 4)

Robot motion with direction shown as hue and displacement shown as brightness

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 (-1, -1, -1, -1).

Python/C decoding.

SemanticSegmentation

ID

uint32

(H, W, 1)

../../_images/SemanticSegmentation.avif

Per-pixel semantic ID. Decode SemanticIdMap to map each integer ID to its semantic label string.

Python/C decoding.

SemanticIdMap

IdentifierMap

uint8

Buffer

Decoded SemanticIdMap robot lineup illustration

Packed metadata buffer mapping semantic IDs to label strings. Each entry contains uint32 id[4], label length, and label offset, followed by packed label bytes and a trailing entry count.

Python/C decoding.

SemanticInstanceSegmentation

ID[4]

uint32

(H, W, 4)

Robot lineup SemanticInstanceSegmentation visualization

Stable ID of the semantic prim associated with each pixel. Maintain a prim-path lookup from StableIdMapDeltas. Background is all zeros; unlabelled hits are (0, 0, 0, 1).

Python/C decoding.

StableIdSegmentation

ID[4]

uint32

(H, W, 4)

Robot lineup StableIdSegmentation visualization

Stable geometry-instance ID per pixel. The four words form one identifier, including its subset component. Background is all zeros.

Python/C decoding.

NonStableInstanceSegmentation

ID

uint32

(H, W, 1)

Robot lineup NonStableInstanceSegmentation visualization

Runtime semantic-instance index plus 2 per pixel. Zero is background; 1 is an unlabelled hit. These indices can change as scene contents change.

Python/C decoding.

BoundingBox2DTightSD

BoundingBox2DValues

uint8

(B,)

Decoded BoundingBox2DTightSD robot lineup illustration

Per-instance visible-pixel bounds. Each 24-byte record contains instance/tile IDs and integer pixel bounds. Reject records with inverted bounds.

Python/C decoding.

BoundingBox2DLooseSD

BoundingBox2DValues

uint8

(B,)

Decoded BoundingBox2DLooseSD robot lineup illustration

Per-instance 2D bounds including occluded geometry. Same 24-byte layout as tight boxes. Reject records with inverted bounds.

Python/C decoding.

BoundingBox3DSD

BoundingBox3DValues

uint8

(B,)

Decoded BoundingBox3DSD robot lineup illustration

Per-instance local 3D extents and a transform to world space. Each record is 96 bytes.

Python/C decoding.

SemanticBoundingBox2DTight

SemanticBoundingBox2DValues

uint8

(B,)

Decoded SemanticBoundingBox2DTight robot lineup illustration

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.

Python/C decoding.

SemanticBoundingBox2DLoose

SemanticBoundingBox2DValues

uint8

(B,)

Decoded SemanticBoundingBox2DLoose robot lineup illustration

2D bounds including occluded geometry, grouped by semantic instance. Same layout and trailing count as semantic tight boxes.

Python/C decoding.

SemanticBoundingBox3D

SemanticBoundingBox3DValues

uint8

(B,)

Decoded SemanticBoundingBox3D robot lineup illustration

Local 3D extents and world transform grouped by semantic instance. Each record is 120 bytes; read the trailing valid-record count.

Python/C decoding.

OcclusionSD

OcclusionValues

uint8

(B,)

Decoded OcclusionSD robot lineup illustration

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.

Python/C decoding.

InstanceIdTokenMapSD

InstanceIdToken

uint8

(B,)

Decoded InstanceIdTokenMapSD robot lineup illustration

Runtime instance IDs mapped to opaque prim handles, prototype indices and instancer indices. A 24-byte header precedes 24-byte records.

Python/C decoding.

InstanceMap

uint32 array

uint8

(B,)

Decoded InstanceMap robot lineup illustration

Runtime-instance-to-semantic-instance lookup. Reinterpret the byte buffer as uint32 indices; 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not SemanticIdMap label IDs.

Python/C decoding.

StableIdMapDeltas

IdentifierMap

uint8

(B,)

Decoded StableIdMapDeltas robot lineup illustration

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.

Python/C decoding.

SemanticIdMapDeltas

IdentifierMap

uint8

(B,)

Decoded SemanticIdMapDeltas robot lineup illustration

New semantic-ID/label entries since the last generated delta. Same packed layout as SemanticIdMap. An unchanged scene returns a four-byte zero count.

Python/C decoding.

CameraParams

CameraParams

uint8

(260,)

Decoded CameraParams robot lineup illustration

View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens parameters.

Python/C decoding.

StableIdSemanticIdMap

ID pairs

uint8

(B,)

Decoded StableIdSemanticIdMap robot lineup illustration

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.

Python/C decoding.

sourceName

Format

Type

Shape

Example

LdrColor

RGBA

uint8

(H, W, 4)

../../_images/LdrColor1.avif

Tone-mapped sRGB color; uint8 channels decode to [0, 1]. Python/C pixel decoding.

HdrColor

RGBA

float16

(H, W, 4)

../../_images/HdrColor1.avif

Linear HDR beauty color. Convert float16 to float32 before processing. Python/C pixel decoding.

PtDirectIllumation

RGBA

float16

(H, W, 4)

../../_images/PtDirectIllumation.avif

Direct illumination. The source name intentionally uses the renderer spelling Illumation. Python/C pixel decoding.

PtGlobalIllumination

RGBA

float16

(H, W, 4)

../../_images/PtGlobalIllumination.avif

Indirect illumination from bounced light. Python/C pixel decoding.

PtReflections

RGBA

float16

(H, W, 4)

../../_images/PtReflections.avif

Reflected radiance. Python/C pixel decoding.

PtRefractions

RGBA

float16

(H, W, 4)

../../_images/PtRefractions.avif

Transmitted radiance. Python/C pixel decoding.

PtSubsurfaceScattering

RGBA

float16

(H, W, 4)

../../_images/PtSubsurfaceScattering.avif

Subsurface-scattered radiance. Python/C pixel decoding.

PtSelfIllumination

RGBA

float16

(H, W, 4)

../../_images/PtSelfIllumination.avif

Surface emission. Python/C pixel decoding.

PtPreDenoisedResult

RGBA

float16

(H, W, 4)

../../_images/PtPreDenoisedResult.avif

Accumulated radiance before denoising. Python/C pixel decoding.

PtWorldNormal

RGBA

float32

(H, W, 4)

../../_images/PtWorldNormal.avif

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.

PtWorldPos

RGBA

float32

(H, W, 4)

../../_images/PtWorldPos.avif

World-space hit position in XYZ, in scene units. The preview rescales each coordinate. Python/C pixel decoding.

PtViewNormal

RGBA

float16

(H, W, 4)

../../_images/PtViewNormal.avif

View-space normal in XYZ, averaged across samples. Display [-1, 1] as [0, 1]. Python/C pixel decoding.

PtZDepth

RGBA

float16

(H, W, 4)

../../_images/PtZDepth.avif

Normalized ray-hit distance, clamped to [0, 1] using the configured PT depth range; repeated in RGB. Python/C pixel decoding.

PtDiffuseFilter

RGBA

float16

(H, W, 4)

../../_images/PtDiffuseFilter.avif

Diffuse material color filter in RGB. Python/C pixel decoding.

PtReflectionFilter

RGBA

float16

(H, W, 4)

../../_images/PtReflectionFilter.avif

Reflection material color filter in RGB. Python/C pixel decoding.

PtRefractionFilter

RGBA

float16

(H, W, 4)

../../_images/PtRefractionFilter.avif

Transmission material color filter in RGB. Python/C pixel decoding.

PtLuminance

RGBA

float32

(H, W, 4)

../../_images/PtLuminance.avif

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.

PtIlluminance

RGBA

float32

(H, W, 4)

../../_images/PtIlluminance.avif

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.

PtMotion

RGBA

float32

(H, W, 4)

../../_images/PtMotion.avif

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.

PtMultiMatte0 – PtMultiMatte7

RGBA

float16

(H, W, 4)

../../_images/MultiMatte.avif

Each RGBA component holds independent coverage for a selected geometry or material ID, from 0 to 1. Configure omni:rtx:pt:multimatte:rId, gId, bId, aId and their rIsMat, gIsMat, bIsMat, aIsMat flags on each RenderVar. Omitted IDs and -1 disable components. Requests determine allocation, up to eight outputs / 32 masks. Geometry IDs use primvars:multimatte_id; material IDs use multimatte_id on the material. The preview combines RGB slices of outputs 0–3; the grey strip shows their full-frame alpha masks. Labels list RGBA selectors (G = geometry, M = material). See Python: Semantic Segmentation and Python/C pixel decoding.

Light Path Expressions

RGBA

float16

(H, W, 4)

../../_images/LightPathExpressions.avif

Up to nine expression outputs, authored with sourceType = "lpe" and the expression as sourceName. The preview combines vertical slices from slots 0–8, left to right: E.*L, E<RD>.*L, E<RG>.*L, E<TD>.*L, E<TG>.*L, E<RD>L, E<RG>L, E<RD>.+L, E<RG>.+L. See Light Path Expressions and Python/C pixel decoding.

BumpNormal

RGBA

float32

(H, W, 4)

../../_images/BumpNormal.avif

World-space shading normal, including material bump, in XYZ. Python/C pixel decoding.

BumpNormalResearch

RGBA

float16

(H, W, 4)

../../_images/BumpNormalResearch.avif

Half-precision shading-normal diagnostic. Python/C pixel decoding.

DiffuseAlbedo

RGBA

uint8

(H, W, 4)

../../_images/DiffuseAlbedo.avif

Diffuse material RGB color, stored as UNORM bytes. Python/C pixel decoding.

SpecularAlbedo

RGBA

uint8

(H, W, 4)

../../_images/SpecularAlbedo.avif

Specular material RGB color, stored as UNORM bytes. Python/C pixel decoding.

DepthLinearized

Scalar

float32

(H, W, 1)

../../_images/DepthLinearized.avif

Linear view-space depth in scene units. Ignore the float32 maximum-value miss sentinel. Python/C pixel decoding.

Motion2dXYZ

RGBA

float32

(H, W, 4)

../../_images/Motion2dXYZ.avif

XY screen displacement in pixels and Z view-depth change; W is 1. Python/C pixel decoding.

Motion2dDilated

XY

float32

(H, W, 2)

../../_images/Motion2dDilated.avif

Dilated screen displacement in pixels, in XY. Python/C pixel decoding.

Motion2dXYZDilated

RGBA

float32

(H, W, 4)

../../_images/Motion2dXYZDilated.avif

Dilated XY screen displacement in pixels and Z view-depth change; W is 1. Python/C pixel decoding.

MotionWorld

RGBA

float32

(H, W, 4)

../../_images/MotionWorld.avif

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.

EmissionAndForegroundMask

RGBA

float16

(H, W, 4)

../../_images/EmissionAndForegroundMask.avif

RGB surface emission and W foreground mask. Python/C pixel decoding.

Roughness

RGBA

uint8

(H, W, 4)

../../_images/Roughness.avif

Material roughness in the blue channel, stored as a UNORM byte. The preview displays blue as grayscale. Python/C pixel decoding.

DisocclusionMask

Scalar

float16

(H, W, 1)

../../_images/DisocclusionMask.avif

Disocclusion mask in [0, 1]. The preview displays it directly as grayscale. Python/C pixel decoding.

ViewspacePosition

RGBA

float32

(H, W, 4)

../../_images/ViewspacePosition.avif

View-space position in XYZ, in scene units. The preview rescales each coordinate. Python/C pixel decoding.

XRDepth

Scalar

float32

(H, W, 1)

../../_images/XRDepth.avif

Normalized reversed clip depth for XR composition. Python/C pixel decoding.

NormalSD

XYZA

float32

(H, W, 4)

../../_images/NormalSD1.avif

World-space surface normals.

Python/C decoding.

DepthSD

Z

float32

(H, W, 1)

../../_images/DepthSD1.avif

Deprecated. Unitless raster depth mapped from 1 (near clip plane) to 0 (far clip plane). Use DistanceToImagePlaneSD or DistanceToCameraSD instead.

Python/C decoding.

DistanceToCameraSD

Z

float32

(H, W, 1)

../../_images/DistanceToCameraSD1.avif

Euclidean distance from the camera origin to each surface point, in meters.

Python/C decoding.

DistanceToImagePlaneSD

Z

float32

(H, W, 1)

../../_images/DistanceToImagePlaneSD1.avif

Perpendicular distance from the image plane to each surface point, in meters.

Python/C decoding.

DiffuseAlbedoSD

RGBA

uint8

(H, W, 4)

../../_images/DiffuseAlbedoSD1.avif

Diffuse surface albedo (base color without lighting).

Python/C decoding.

Camera3dPositionSD

XYZA

float32

(H, W, 4)

../../_images/Camera3dPositionSD1.avif

Camera-space 3D position of each visible surface point, in scene units.

Python/C decoding.

TargetMotionSD

XYZW

float32

(H, W, 4)

Robot motion with direction shown as hue and displacement shown as brightness

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 (-1, -1, -1, -1).

Python/C decoding.

SemanticSegmentation

ID

uint32

(H, W, 1)

../../_images/SemanticSegmentation1.avif

Per-pixel semantic ID. Decode SemanticIdMap to map each integer ID to its semantic label string.

Python/C decoding.

SemanticIdMap

IdentifierMap

uint8

Buffer

Decoded SemanticIdMap robot lineup illustration

Packed metadata buffer mapping semantic IDs to label strings. Each entry contains uint32 id[4], label length, and label offset, followed by packed label bytes and a trailing entry count.

Python/C decoding.

SemanticInstanceSegmentation

ID[4]

uint32

(H, W, 4)

Robot lineup SemanticInstanceSegmentation visualization

Stable ID of the semantic prim associated with each pixel. Maintain a prim-path lookup from StableIdMapDeltas. Background is all zeros; unlabelled hits are (0, 0, 0, 1).

Python/C decoding.

StableIdSegmentation

ID[4]

uint32

(H, W, 4)

Robot lineup StableIdSegmentation visualization

Stable geometry-instance ID per pixel. The four words form one identifier, including its subset component. Background is all zeros.

Python/C decoding.

NonStableInstanceSegmentation

ID

uint32

(H, W, 1)

Robot lineup NonStableInstanceSegmentation visualization

Runtime semantic-instance index plus 2 per pixel. Zero is background; 1 is an unlabelled hit. These indices can change as scene contents change.

Python/C decoding.

BoundingBox2DTightSD

BoundingBox2DValues

uint8

(B,)

Decoded BoundingBox2DTightSD robot lineup illustration

Per-instance visible-pixel bounds. Each 24-byte record contains instance/tile IDs and integer pixel bounds. Reject records with inverted bounds.

Python/C decoding.

BoundingBox2DLooseSD

BoundingBox2DValues

uint8

(B,)

Decoded BoundingBox2DLooseSD robot lineup illustration

Per-instance 2D bounds including occluded geometry. Same 24-byte layout as tight boxes. Reject records with inverted bounds.

Python/C decoding.

BoundingBox3DSD

BoundingBox3DValues

uint8

(B,)

Decoded BoundingBox3DSD robot lineup illustration

Per-instance local 3D extents and a transform to world space. Each record is 96 bytes.

Python/C decoding.

SemanticBoundingBox2DTight

SemanticBoundingBox2DValues

uint8

(B,)

Decoded SemanticBoundingBox2DTight robot lineup illustration

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.

Python/C decoding.

SemanticBoundingBox2DLoose

SemanticBoundingBox2DValues

uint8

(B,)

Decoded SemanticBoundingBox2DLoose robot lineup illustration

2D bounds including occluded geometry, grouped by semantic instance. Same layout and trailing count as semantic tight boxes.

Python/C decoding.

SemanticBoundingBox3D

SemanticBoundingBox3DValues

uint8

(B,)

Decoded SemanticBoundingBox3D robot lineup illustration

Local 3D extents and world transform grouped by semantic instance. Each record is 120 bytes; read the trailing valid-record count.

Python/C decoding.

OcclusionSD

OcclusionValues

uint8

(B,)

Decoded OcclusionSD robot lineup illustration

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.

Python/C decoding.

InstanceIdTokenMapSD

InstanceIdToken

uint8

(B,)

Decoded InstanceIdTokenMapSD robot lineup illustration

Runtime instance IDs mapped to opaque prim handles, prototype indices and instancer indices. A 24-byte header precedes 24-byte records.

Python/C decoding.

InstanceMap

uint32 array

uint8

(B,)

Decoded InstanceMap robot lineup illustration

Runtime-instance-to-semantic-instance lookup. Reinterpret the byte buffer as uint32 indices; 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not SemanticIdMap label IDs.

Python/C decoding.

StableIdMapDeltas

IdentifierMap

uint8

(B,)

Decoded StableIdMapDeltas robot lineup illustration

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.

Python/C decoding.

SemanticIdMapDeltas

IdentifierMap

uint8

(B,)

Decoded SemanticIdMapDeltas robot lineup illustration

New semantic-ID/label entries since the last generated delta. Same packed layout as SemanticIdMap. An unchanged scene returns a four-byte zero count.

Python/C decoding.

CameraParams

CameraParams

uint8

(260,)

Decoded CameraParams robot lineup illustration

View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens parameters.

Python/C decoding.

StableIdSemanticIdMap

ID pairs

uint8

(B,)

Decoded StableIdSemanticIdMap robot lineup illustration

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.

Python/C decoding.

The LPE row uses expression source names with sourceType = "lpe". Other rows use the default raw source type.

sourceName

Format

Type

Shape

Example

LdrColor

RGBA

uint8

(H, W, 4)

../../_images/LdrColor2.avif

Simple-shaded color in sRGB space. Standard final image output suitable for display or saving as PNG/JPEG.

NormalSD

XYZA

float32

(H, W, 4)

../../_images/NormalSD2.avif

World-space surface normals.

Python/C decoding.

DepthSD

Z

float32

(H, W, 1)

../../_images/DepthSD2.avif

Deprecated. Unitless raster depth mapped from 1 (near clip plane) to 0 (far clip plane). Use DistanceToImagePlaneSD or DistanceToCameraSD instead.

Python/C decoding.

Depth / XRDepth

Z

float32

(H, W, 1)

../../_images/Depth.avif

Unitless reversed clip depth, from 1 (near clip plane) to 0 (far clip plane). Both names expose the same depth values as DepthSD in Minimal mode.

Python/C decoding.

DistanceToCameraSD

Z

float32

(H, W, 1)

../../_images/DistanceToCameraSD2.avif

Euclidean distance from the camera origin to each surface point, in meters.

Python/C decoding.

DistanceToImagePlaneSD

Z

float32

(H, W, 1)

../../_images/DistanceToImagePlaneSD2.avif

Perpendicular distance from the image plane to each surface point, in meters.

Python/C decoding.

DiffuseAlbedoSD

RGBA

uint8

(H, W, 4)

../../_images/DiffuseAlbedoSD2.avif

Diffuse surface albedo (base color without lighting).

Python/C decoding.

Camera3dPositionSD

XYZA

float32

(H, W, 4)

../../_images/Camera3dPositionSD2.avif

Camera-space 3D position of each visible surface point, in scene units.

Python/C decoding.

TargetMotionSD

XYZW

float32

(H, W, 4)

Robot motion with direction shown as hue and displacement shown as brightness

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 (-1, -1, -1, -1).

Python/C decoding.

SemanticSegmentation

ID

uint32

(H, W, 1)

../../_images/SemanticSegmentation2.avif

Per-pixel semantic ID. Decode SemanticIdMap to map each integer ID to its semantic label string.

Python/C decoding.

SemanticIdMap

IdentifierMap

uint8

Buffer

Decoded SemanticIdMap robot lineup illustration

Packed metadata buffer mapping semantic IDs to label strings. Each entry contains uint32 id[4], label length, and label offset, followed by packed label bytes and a trailing entry count.

Python/C decoding.

SemanticInstanceSegmentation

ID[4]

uint32

(H, W, 4)

Robot lineup SemanticInstanceSegmentation visualization

Stable ID of the semantic prim associated with each pixel. Maintain a prim-path lookup from StableIdMapDeltas. Background is all zeros; unlabelled hits are (0, 0, 0, 1).

Python/C decoding.

StableIdSegmentation

ID[4]

uint32

(H, W, 4)

Robot lineup StableIdSegmentation visualization

Stable geometry-instance ID per pixel. The four words form one identifier, including its subset component. Background is all zeros.

Python/C decoding.

NonStableInstanceSegmentation

ID

uint32

(H, W, 1)

Robot lineup NonStableInstanceSegmentation visualization

Runtime semantic-instance index plus 2 per pixel. Zero is background; 1 is an unlabelled hit. These indices can change as scene contents change.

Python/C decoding.

BoundingBox2DTightSD

BoundingBox2DValues

uint8

(B,)

Decoded BoundingBox2DTightSD robot lineup illustration

Per-instance visible-pixel bounds. Each 24-byte record contains instance/tile IDs and integer pixel bounds. Reject records with inverted bounds.

Python/C decoding.

BoundingBox2DLooseSD

BoundingBox2DValues

uint8

(B,)

Decoded BoundingBox2DLooseSD robot lineup illustration

Per-instance 2D bounds including occluded geometry. Same 24-byte layout as tight boxes. Reject records with inverted bounds.

Python/C decoding.

BoundingBox3DSD

BoundingBox3DValues

uint8

(B,)

Decoded BoundingBox3DSD robot lineup illustration

Per-instance local 3D extents and a transform to world space. Each record is 96 bytes.

Python/C decoding.

SemanticBoundingBox2DTight

SemanticBoundingBox2DValues

uint8

(B,)

Decoded SemanticBoundingBox2DTight robot lineup illustration

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.

Python/C decoding.

SemanticBoundingBox2DLoose

SemanticBoundingBox2DValues

uint8

(B,)

Decoded SemanticBoundingBox2DLoose robot lineup illustration

2D bounds including occluded geometry, grouped by semantic instance. Same layout and trailing count as semantic tight boxes.

Python/C decoding.

SemanticBoundingBox3D

SemanticBoundingBox3DValues

uint8

(B,)

Decoded SemanticBoundingBox3D robot lineup illustration

Local 3D extents and world transform grouped by semantic instance. Each record is 120 bytes; read the trailing valid-record count.

Python/C decoding.

OcclusionSD

OcclusionValues

uint8

(B,)

Decoded OcclusionSD robot lineup illustration

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.

Python/C decoding.

InstanceIdTokenMapSD

InstanceIdToken

uint8

(B,)

Decoded InstanceIdTokenMapSD robot lineup illustration

Runtime instance IDs mapped to opaque prim handles, prototype indices and instancer indices. A 24-byte header precedes 24-byte records.

Python/C decoding.

InstanceMap

uint32 array

uint8

(B,)

Decoded InstanceMap robot lineup illustration

Runtime-instance-to-semantic-instance lookup. Reinterpret the byte buffer as uint32 indices; 0xFFFFFFFF means no semantic parent. Indices address semantic-instance records, not SemanticIdMap label IDs.

Python/C decoding.

StableIdMap

IdentifierMap

uint8

(B,)

Decoded StableIdMap robot lineup illustration

Packed metadata mapping stable IDs to prim-path strings. Each entry contains uint32 id[4], label length and label offset, followed by packed strings and a trailing entry count.

Python/C decoding.

StableIdMapDeltas

IdentifierMap

uint8

(B,)

Decoded StableIdMapDeltas robot lineup illustration

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.

Python/C decoding.

SemanticIdMapDeltas

IdentifierMap

uint8

(B,)

Decoded SemanticIdMapDeltas robot lineup illustration

New semantic-ID/label entries since the last generated delta. Same packed layout as SemanticIdMap. An unchanged scene returns a four-byte zero count.

Python/C decoding.

CameraParams

CameraParams

uint8

(260,)

Decoded CameraParams robot lineup illustration

View and projection matrices, scene-unit scale, resolution, clipping range, camera-model name and lens parameters.

Python/C decoding.

StableIdSemanticIdMap

ID pairs

uint8

(B,)

Decoded StableIdSemanticIdMap robot lineup illustration

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.

Python/C decoding.

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"

Token

Description

Example

depth

G-buffer depth multiplied by 1000 and displayed as grayscale.

Depth

worldPosition

World-space position wrapped into a repeating diagnostic color.

World position

barycentrics

Triangle barycentric coordinates.

Barycentrics

texcoord0

Fractional values from the first texture-coordinate set.

Texture coordinates 0

texcoord1

Fractional values from the second texture-coordinate set.

Texture coordinates 1

triangleNormal

Geometric triangle normal encoded into the 0–1 color range.

Triangle normal

normal

Interpolated shading normal encoded into the 0–1 color range.

Interpolated normal

tangentu

First shading tangent encoded into the 0–1 color range.

Tangent U

tangentv

Second shading tangent encoded into the 0–1 color range.

Tangent V

instanceId

Per-pixel instance identifier color.

Instance ID

stableId

Per-pixel stable identifier color.

Stable ID

nonVisualMaterialId

Per-pixel non-visual material identifier color.

Non-visual material ID

targetMotion

Per-pixel world-space motion, shown with the robots moving.

3D motion vectors

targetMotionArrows

World-space motion visualized as arrows, shown with the robots moving.

3D motion-vector arrows

wire

Triangle edges derived from barycentric coordinates.

Wireframe

anyHitCountHeatMap

Color-mapped count of material any-hit calls associated with each pixel, including rejected candidates. Only supported in RealTimePathTracing.

Any-hit count heat map

Debug views do not create dedicated RenderVars. They replace the beauty destination:

Requested color RenderVars

Debug-view destination

LdrColor and HdrColor

HdrColor. LdrColor remains the regular beauty image.

HdrColor only

HdrColor.

LdrColor only

LdrColor.

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.