- ✅ = Supported.
- ❕ = Partially supported or has limitation.
- 🚧 = Work in progress.
- empty cell = not yet supported.
NOTE: TinyUSDZ API is subject to change NOTE: USDC(Binary) = Read only
- Robust USDA ASCII parsing(No segfault for corrupted input)
- ASCII export
- Robust USDC parsing(No segfault for corrupted input)
- Robust USDZ parsing(No segfault for corrupted input)
- Tydra: Vulkan/OpenGL friendly scene graph conversion
- Basic USD composition support.
- JS/WASM support
- Supports loading USDA/USDC/USDZ
- Supports basic composition.
- UsdPreviewSurface is converted to Three.js MeshPhysicalMaterial
| type | Ascii | USDC | Comment |
|---|---|---|---|
| Model | ✅ | ✅ | def with no prim type |
| Scope | ✅ | ✅ | no-op prim |
| type | Ascii | USDC | Comment |
|---|---|---|---|
| Xform | ✅ | ✅ | |
| Mesh | ✅ | ✅ | |
| GeomSubset | ✅ | ✅ | Supports 'point' type |
| Points | ✅ | ✅ | |
| Cube | ✅ | ✅ | |
| Cylinder | ✅ | ✅ | |
| Sphere | ✅ | ✅ | |
| Capsule | ✅ | ✅ | |
| Cone | ✅ | ✅ | |
| BasisCurves | ✅ | ✅ | for hair/fur |
| NurbsPatch | |||
| NurbsCurves | ✅ | ✅ | |
| HermiteCurves | |||
| PointInstancer | ✅ | ✅ |
| type | Ascii | USDC | Comment |
|---|---|---|---|
| Camera | ✅ | ✅ |
| type | Ascii | USDC | Comment |
|---|---|---|---|
| DistantLight | ✅ | ✅ | |
| DiskLight | ✅ | ✅ | |
| RectLight | ✅ | ✅ | |
| SphereLight | ✅ | ✅ | |
| CylinderLight | ✅ | ✅ | |
| DomeLight | ✅ | ✅ | |
| GeomtryLight | |||
| PortalLight | |||
| PluginLight | Light shader |
- Light sets, light shaping, shadowAPI, LightFiler, etc are not supported yet.
| type | Ascii | USDC | Comment |
|---|---|---|---|
| UsdPreviewSurface | ✅ | ✅ | |
| UsdUVTexture | ✅ | ✅ | 1. |
| UsdPrimvarReader | ✅ | ✅ |
- UDIM texture is not supported.
| type | Ascii | USDC | Comment |
|---|---|---|---|
| SkelRoot | ✅ | ✅ | Parsing only |
| Skeleton | ✅ | ✅ | Parsing only |
| SkelAnim | ✅ | ✅ | Parsing only |
| BlendShape | ✅ | ✅ | Supports inbetween blendshape attribute |
- Skeleton utility functions(e.g. build joint hiearchy from list of
token[]) are provided in Tydra.
- Custom filesystem handler(Asset Resolution)
- Composition(VariantSet) syntax
- Nested variant
- VariantSet Ascii parse
- VariantSet Ascii print
- VariantSet Crate parse
- VariantSet(SpecTypeVariant) Crate write
- USDC serialization
- Skinning evaluation/validation
- Tydra(scene/render delegation)
- usdObj(wavefront .obj) support.
- Please see usdObj.md
- C-API for other languages
- Python binding and package.
- Composition Arcs
- Parsing some Composition Arcs possible, needs more testing/validations.
- subLayers
- references
- payloads(delayed load)
- variants/variantSets
- specializers(priority is low)
- Performance optimization
- UDIM texture
- MeshLight(GeometryLight)
- Collection API
- e.g. Light Sets
- Delayed load of Layer/Stage
- Instancing
- Volume(usdVol)
- MagicaVoxel vox for Volume?
- VDBVolume support through TinyVDBIO? https://github.com/syoyo/tinyvdbio
- Audio(usdAudio)
- MaterialX support(usdMtlx)
- Physics(usdPhysics)
- and more...
EoL.