USD is an open-source framework developed by Pixar for the efficient interchange of 3D computer graphics data across different software applications.
This project aims to implement OpenUSD library in plain Rust (with no native C++ dependencies).
The following list of docs was used during crate development:
The library can read all major USD formats. Here's what's currently supported:
usdc(binary format) - for the list of supported features, refer to #1usda(text format) - can read most text files, corner cases possibleusdz(zip archive format) - can read archived text/binary files- Variable Expressions evaluator.
- DOM support is WIP: #15
If you encounter a file that can't be read, please open an issue and attach it for further investigation.
To begin, simply clone the repository including its submodules.
Make sure you have Rust installed on your system, rustup will do the rest.
# Clone the project
git clone --recurse-submodules https://github.com/mxpv/openusd.git
cd openusd
# Use cargo to build, test, lint, etc.
cargo build
cargo clippy
# Run examples
cargo run --example dump_usdc -- ~/caldera/layers/cameras.usdThe project typically targets the latest stable Rust version. Please refer to rust-toolchain.toml for exact version currently used by our CIs.