Extension: omni.usd.schema.omni_lens_distortion-1.0.0 |
Documentation Generated: Nov 13, 2025 |
Overview#
omni.usd.schema.omni_lens_distortion provides USD schemas for representing various lens distortion models in RTX rendering. The extension defines six API schemas that can be applied to Camera prims to simulate realistic lens distortion effects, supporting both analytical models and lookup table-based approaches for accurate optical simulation.
Key Components#
F-theta Model API#
OmniLensDistortionFthetaAPI implements the NVIDIA f-theta lens distortion model, commonly used for wide-angle and fisheye lenses. This model uses polynomial coefficients (k0-k4) to define the distortion characteristics and includes sensor calibration parameters for accurate transformation between image coordinates and real-world angles.
Kannala-Brandt K3 Model API#
OmniLensDistortionKannalaBrandtK3API provides the Kannala-Brandt fisheye camera model, particularly effective for ultra-wide angle lenses. The model uses polynomial distortion coefficients (k0-k3) and supports extreme field-of-view scenarios up to 200 degrees with precise optical center positioning.
Radial-Tangential Thin-Prism Model API#
OmniLensDistortionRadTanThinPrismAPI offers the most comprehensive analytical distortion model, combining radial distortion (k0-k5), tangential distortion (p0-p1), and thin-prism distortion (s0-s3) components. This model accurately represents complex lens systems with multiple distortion sources.
Lookup Table Model API#
OmniLensDistortionLutAPI enables custom lens distortion through pre-generated lookup tables stored as RGBA texture files. This approach allows any lens model to be converted to the RTX camera format using two lookup tables: one for ray entry directions and another for ray exit positions on the image plane.
OpenCV Fisheye Model API#
OmniLensDistortionOpenCvFisheyeAPI implements the OpenCV fisheye camera model with standard calibration parameters including focal lengths (fx, fy), principal point (cx, cy), and distortion coefficients (k1-k4). This provides compatibility with existing OpenCV camera calibration workflows.
OpenCV Pinhole Model API#
OmniLensDistortionOpenCvPinholeAPI supports the OpenCV pinhole camera model with comprehensive distortion correction including radial distortion (k1-k6), tangential distortion (p1-p2), and thin-prism distortion (s1-s4). This model bridges traditional computer vision applications with RTX rendering.
Functionality#
Each schema API can be applied to USD Camera prims to modify how rays are traced through the lens system during RTX rendering. The schemas define sensor dimensions, optical centers, maximum field-of-view limits, and model-specific distortion parameters. All models include calibration metadata to ensure accurate transformation between pixel coordinates and ray directions.
The lookup table approach provides maximum flexibility by allowing conversion of any existing lens model into the RTX format through ray direction and position mapping tables. This enables integration of proprietary or specialized lens models not covered by the analytical approaches.
Relationships#
The extension depends on omni.usd.libs for core USD functionality and optionally integrates with omni.usd.core for enhanced USD operations. These schemas are designed to work with RTX rendering systems that interpret the lens distortion parameters during ray tracing operations, providing physically accurate camera simulation for synthetic data generation and visualization applications.