Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vfx-rs/usd-bind
Rust bindings for Pixar's Universal Scene Description (USD)
https://github.com/vfx-rs/usd-bind
Last synced: 3 months ago
JSON representation
Rust bindings for Pixar's Universal Scene Description (USD)
- Host: GitHub
- URL: https://github.com/vfx-rs/usd-bind
- Owner: vfx-rs
- Created: 2021-09-16T20:16:41.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-19T19:41:43.000Z (over 2 years ago)
- Last Synced: 2024-04-12T18:07:25.807Z (7 months ago)
- Language: C++
- Size: 1.56 MB
- Stars: 41
- Watchers: 6
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-openusd - USD Rust Bindings
README
# Getting started
Make sure you have cppmm built/working.
https://github.com/vfx-rs/cppmmBuild usd 21.11
Then run bash bind.sh.
- You need to make sure all the ```USD_ROOT``` environment variables is set to the install location of usd 21.11.
- You need to make sure astgen and asttoc are in your PATH.Finally build the rust bindings.
```
env LD_LIBRARY_PATH=${USD_ROOT}/lib CMAKE_PREFIX_PATH=${USD_ROOT} cargo test
```You should be good to go after this.
# Checklist
- [x] You can create and open/save/export a stage.
- [x] You can define a prim and get/set attributes on it.
- [ ] All 30 basic types are supported + arrays of those types.
- [ ] You can create references under prims or as layers.
- [x] You can traverse the prims in a stage.- [ ] Relationships
- [ ] Schemas
- [ ] Edit Targets
- [ ] Variant Sets
- [ ] Get/Set default root prim
- [ ] Asset resolver# Supported value types in VtValue.
Some types have scalar support but no array, those are marked
as not done.
- [x] bool bool
- [x] uchar uint8_t 8 bit unsigned integer
- [x] int int32_t 32 bit signed integer
- [x] uint uint32_t 32 bit unsigned integer
- [x] int64 int64_t 64 bit signed integer
- [x] uint64 uint64_t 64 bit unsigned integer
- [ ] half GfHalf 16 bit floating point
- [x] float float 32 bit floating point
- [x] double double 64 bit floating point
- [x] timecode SdfTimeCode double representing a resolvable time
- [x] string std::string stl string
- [x] token TfToken interned string with fast comparison and hashing
- [x] asset SdfAssetPath represents a resolvable path to another asset
- [x] matrix3d GfMatrix3d 3x3 matrix of doubles
- [x] matrix4d GfMatrix4d 4x4 matrix of doubles
- [x] matrix3f GfMatrix3f 3x3 matrix of floats
- [x] matrix4f GfMatrix4f 4x4 matrix of floats
- [x] quatd GfQuatd double-precision quaternion
- [x] quatf GfQuatf single-precision quaternion
- [ ] quath GfQuath half-precision quaternion
- [x] double2 GfVec2d vector of 2 doubles
- [x] float2 GfVec2f vector of 2 floats
- [ ] half2 GfVec2h vector of 2 half's
- [x] int2 GfVec2i vector of 2 ints
- [x] double3 GfVec3d vector of 3 doubles
- [x] float3 GfVec3f vector of 3 floats
- [ ] half3 GfVec3h vector of 3 half's
- [x] int3 GfVec3i vector of 3 ints
- [x] double4 GfVec4d vector of 4 doubles
- [x] float4 GfVec4f vector of 4 floats
- [ ] half4 GfVec4h vector of 4 half's
- [x] int4 GfVec4i vector of 4 ints# Running genbind
genbind.py -v 2 --namespace pxrInternal_v0_20__pxrReserved__ --namespace-internal PXR_INTERNAL_NS --namespace-public pxr -a "-I/home/anders/packages/usd/20.05/include" -a "-I/home/anders/packages/boost/1.70.0/include" -a "-I/usr/include/python2.7" -a "-Wno-deprecated-register" -o bind -f /home/anders/packages/usd/20.05/include/pxr/usd/usdGeom/sphere.h