Skip to content
/ openusd Public

Native Rust USD library

License

Notifications You must be signed in to change notification settings

mxpv/openusd

Repository files navigation

openusd

Crates.io Version docs.rs CI codecov dependency status

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).

Documentation

The following list of docs was used during crate development:

Supported features

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 #1
  • usda (text format) - can read most text files, corner cases possible
  • usdz (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.

Getting started

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.usd

Minimum supported Rust version (MSRV)

The project typically targets the latest stable Rust version. Please refer to rust-toolchain.toml for exact version currently used by our CIs.

About

Native Rust USD library

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 5

Languages