Examples#
This section contains example projects demonstrating various features of ovrtx.
Example Projects#
“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.”
Compare Minimal rendering with DLSS disabled, Super Resolution, or Ray Reconstruction using the same scene and output resolution.
“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.”
“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.”
“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.”
“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.”
“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.”
“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.”
“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.”
“Create a minimal example that loads USD-authored decals through a runtime stage, renders them, and saves the color output.”
Generate an OpenEXR projector direction texture from an OpenCV camera matrix and distortion vector, then render the calibrated projection.
“Create a compact ovrtx example that composes an existing scene with reflection, transmission, and caustics LPE RenderVars, renders them with HdrColor, and records sRGB uint8 images.”
“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.”
Render every RT2 G-buffer debug view sequentially and inspect them together.
Render the robot-lineup scene through three calibrated camera models.
Render animated geometry with analytic rolling-shutter timing.
Render isolated robot environments from two cameras in one stage.
“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.”
Simulate two lidars and two cameras at different rates, preserving their histories and comparing partial and completed outputs.
Keep a 30 Hz camera running while inspecting or pausing the same simulation.
“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.”
“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.”
“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.”
“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.”
“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.”
“Write an SPG node with no input AOV that draws a checkerboard from typed USD attributes, and publish it as a render output.”
“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.”
“Make an SPG node read back its own previous output, so a moving object drags a fading trail behind it.”
“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.”
“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.”
“Have an SPG node trace the scene itself: a Cornell box with ray-traced shadows and the geometric normal recovered from probe rays alone.”
“Write an SPG node that draws a crosshair on chosen scene prims, working out where they land from the camera’s transform and lens values read inside the launch script.”
Tested authoring and runtime examples.
Register ovrtx schemas and verify that external OpenUSD can use them.
Compare physical illuminants in RGB and spectral PathTracing, then compare Canon EOS 5D and Sony α7 IV camera responses with the CIE 1931 observer.