A physically-based path tracer for USD
Crust Render is a path tracer written in safe Rust. It renders USD scenes (.usda, .usdc, .usdz) with an OpenPBR übershader, MaterialX look-dev graphs, UsdLux lights, volumes and path guiding.
Crust Render is a path tracer written in safe Rust. It renders USD scenes (.usda, .usdc, .usdz) with an OpenPBR übershader, MaterialX look-dev graphs, UsdLux lights, volumes and path guiding.
Camera, geometry, lights, materials and render settings all come from the USD stage, read by the pure-Rust openusd crate. There is no other scene format.
An OpenPBR übershader covers diffuse, metal, glass, coat, fuzz, thin film, subsurface and emission. MaterialX graphs and UsdPreviewSurface are read as well.
Streaming USD import, instancing, .tx and Ptex texture streaming let it load assets such as the Disney Moana Island and ALab.
Every setting lives on the stage as a crust:* attribute. Command-line flags override them for one render, and CRUST_* environment variables switch optimizations off for A/B tests.
--stats and --profile print per-phase timings, memory and a per-section render profile.
Every crate is forbid(unsafe_code) except two small, audited exceptions. The kernel, BVH, materials and importer are all written from scratch.