Skip to content

glTF support - #51

Merged
tattn merged 2 commits into
mainfrom
feature/gltf
Aug 20, 2026
Merged

glTF support#51
tattn merged 2 commits into
mainfrom
feature/gltf

Conversation

@tattn

@tattn tattn commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Adds glTF 2.0 / GLB support to VRMKit, including loading, RealityKit rendering, and animation playback.

Changes

  • Add .gltf / .glb loading support
  • Add RealityKit rendering for glTF scenes, meshes, materials, skins, morph targets, and cameras
  • Add glTF animation playback
  • Support external resources and data URIs
  • Add support for KHR_materials_unlit and KHR_texture_transform
  • Refactor VRM loading to share the new glTF rendering infrastructure
  • Add tests using Khronos glTF sample assets

Breaking Changes

  • VRMEntityLoader is no longer open; subclassing it outside VRMKit is no longer supported.
  • loadEntity(withSceneIndex:) now creates a new independent entity graph on each call instead of returning a cached scene.

Notes

Some glTF features are limited by RealityKit, such as vertex colors, non-triangle primitives, multiple UV sets per material, and morph target normals/tangents.

tattn added 2 commits August 20, 2026 20:44
- Introduced GLTFEntityLoaderTests to validate loading of VRM fixtures as GLTF entities, ensuring correct node mapping, skin bindings, morph bindings, and material rendering.
- Added GLTFKeyframeTrackTests to evaluate various interpolation methods for keyframe animations, including linear, step, and cubic spline.
- Implemented GLTFSampleAssetRenderingTests to test rendering of Khronos CC0 sample assets, covering indexed and non-indexed geometry, material building, and camera components.
- Refactored TestSupport to load sample assets more efficiently and introduced VRMSampleAsset and GLTFSampleAsset enums for better asset management.
- Created utility extensions for handling little-endian data formats in tests.
- Updated existing tests to utilize the new asset loading methods and ensure consistency across test cases.
@tattn
tattn merged commit d373e0a into main Aug 20, 2026
6 checks passed
@tattn
tattn deleted the feature/gltf branch August 20, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant