Skip to content
henlampPublic

About

Typed Mojo access to OpenUSD scenes, attributes and mesh snapshots

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

usd-mojo

CodeQL

OpenUSD scene access from Mojo through the official C++ SDK: composition, typed values, animation, meshes, transforms, materials, cameras and physics schema data. Returned values own their storage; mesh snapshots offer borrowed views.

Install

With Pixi:

pixi init my-project
cd my-project
pixi workspace channel add https://repo.prefix.dev/modular-community https://conda.modular.com/max
pixi add usd-mojo

Save as example.mojo and provide a scene containing /World/Mesh:

from usd_mojo import Stage

def main() raises:
    var stage = Stage("scene.usda")
    var mesh = stage.mesh("/World/Mesh")
    print(mesh.point_count(), mesh.face_count())
pixi run usd-mojo-build example.mojo -o example
pixi run ./example

Version 0.1.0 packages target Mojo 1.1.0, OpenUSD 26.08 and macOS ARM64. Pixi installs the SDK and CPython library; the Mojo API makes no Python calls. Source checks also cover 1.2.0.dev2026100905; Linux is experimental.

Stages are move-only and cannot be accessed concurrently. Units, matrices and time codes retain USD conventions. Rendering, physics execution, subdivision evaluation and USDZ packaging are outside the API. Referenced assets and plugins use the SDK resolver; scenes are not sandboxed.

API · Compatibility · Checks · Benchmarks. From source: pixi install --locked, then pixi run -e default check; see development.

Library and bridge: MIT. OpenUSD: TOST 1.0, with unchanged license and notices. See dependencies.

About

Typed Mojo access to OpenUSD scenes, attributes and mesh snapshots

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages