Examples#

This section contains example projects demonstrating various features of ovrtx.

Example Projects#

Minimal example output
Minimal

“Create the smallest useful ovrtx example that loads an existing USD scene, renders one camera frame, maps the color output, and saves or displays the result while cleaning up resources appropriately.”

Status queries example output
Status Queries

“Create a rendering example that demonstrates operation status queries, including logging, asynchronous scene loading, progress and counter polling while waiting, shader warmup feedback, final frame rendering, output handling, and error checks.”

Vulkan Interop example output
Vulkan Interop

“Create a C++ interactive viewer that renders ovrtx camera output directly into a Vulkan presentation path through CUDA interop, with GPU selection, GPU image mapping, exported-image copies, explicit synchronization, double buffering, orbit camera controls, finite-frame capture, and click or marquee picking with selection outlines.”

Planet System example output
Planet System

“Create an animation example that loads a base scene, injects generated runtime geometry, creates persistent transform bindings, updates many transforms efficiently each simulation step using CPU or GPU compute, renders frames, optionally streams or saves them, and cleans up bindings explicitly.”

Tiled Rendering example output
Tiled Rendering

“Create an example that composes multiple referenced scene instances into a grid, assigns per-instance visual variation at runtime, renders all cameras through one tiled output, warms up for image quality, and saves or displays the final tiled image.”

Center crop rendered with dataWindowNDC
Crop Window

“Create an example that renders a centered dataWindowNDC crop from a full-resolution RenderProduct, verifies the cropped output dimensions, and saves or displays the result.”

Full image stitched from four rendered crops
Sliced Rendering

“Render one image as four successive dataWindowNDC crops, warm up each crop, and stitch the captured TL, TR, BL, and BR tiles into a full-resolution image.”

Projectors example output
Projectors

“Create an example that loads an authored projector-mapping scene without editing it, warms up the renderer, renders one frame, and saves the result as a PNG.”

Semantic Segmentation example output
Semantic Segmentation

“Create an example that composes an existing scene with semantic label overrides and camera annotation outputs, renders several camera AOVs including semantic segmentation and its ID map, decodes metadata into human-readable labels, logs a useful visual layout to a viewer, and supports headless image export.”

Lidar sensor example output
Lidar Sensor

“Create a lidar sensor example that applies required sensor runtime settings as needed, loads a configured lidar scene, warms up the sensor pipeline, renders one point-cloud output, reads valid point data safely through the count channel, prints summary statistics, and cleans up resources appropriately.”

Radar sensor example output
Radar Sensor

“Create a radar sensor example that applies required runtime settings as needed, loads an animated radar scene, advances scene time across several simulation steps, reads valid detections including signal strength and signed radial velocity, prints per-step summaries, and cleans up resources appropriately.”

Material Editor example output
Material Editor

“Create a C++ Qt desktop application that combines live ovrtx rendering with read-only USD material introspection, showing materials, a rendered viewport, a shader graph, and editable shader properties, while keeping runtime material edits and rendering resets separate from introspection.”

SPG grayscale example output
SPG: Grayscale

“Create the smallest useful SPG example: a CUDA kernel that converts the LdrColor render output to grayscale, wired into a RenderProduct and read back from Python as a new AOV.”

SPG two-shader pipeline example output
SPG: Pipeline

“Chain two SPG shaders so the renderer’s color output is converted to grayscale and then inverted in a single RenderProduct, reading back only the final result.”

SPG built-in node example output
SPG: Built-in Nodes

“Chain two built-in SPG nodes (no custom CUDA) that brighten the color output and downscale it to half resolution, wired into a RenderProduct via info:id.”

SPG generating node example output
SPG: Generating Node

“Write an SPG node with no input AOV that draws a checkerboard from typed USD attributes, and publish it as a render output.”

SPG separable blur example output, sharp on the left and blurred on the right
SPG: Separable Blur

“Chain two SPG nodes into a separable blur whose tap weights are built once in the launch script, and retune the radius from the host between renders.”

SPG stateful node example output
SPG: Stateful Node

“Make an SPG node read back its own previous output, so a moving object drags a fading trail behind it.”

SPG previous-frame example output, the rendered ball beside the frame-to-frame difference
SPG: Previous Frame

“Have an SPG node read the same AOV twice, once live and once a frame back, and publish the difference so only what moved lights up.”

SPG composite AOV example output
SPG: Composite AOV

“Feed an SPG node from a lidar instead of a camera, reading the point cloud’s named channels and publishing a histogram of returns by distance.”

SPG ray-generation example output
SPG: Ray Generation

“Have an SPG node trace the scene itself: a Cornell box with ray-traced shadows and the geometric normal recovered from probe rays alone.”