glTFast
glTFast copied to clipboard
glTF Export Phase 2
glTF Export has landed in 4.4.0. Now it's time get it out of experimental
TODO
- [x] Run-time export via API
- [x] Save to file
- [x] Save to stream
- [x] Interfaces
- [x] Editor context menu export of scene/objects
- [x] Documentation
- [ ] Optimize output for size
- [x] node transform (skip default values)
- [ ] Skip properties technically not required (like names)
- [ ] (Option for) Minimized JSON
- [ ] Precision rounding (e.g. 0.2 instead of 0.199999993)
- [x] Buffer layout
- [x] Separate (non-interleaved; required for meshopt and 2019 LTS support)
- [ ] Materials
- [ ] Shaders
- [ ] BiRP Specular-Glossiness
- [x] URP Lit
- [x] URP Unlit
- [x] HDRP Lit
- [x] HDRP Unlit
- [x] Textures
- [x] Samplers
- [x] fix redundant glTF textures
- [x] Occlusion (ORM swizzle)
- [x] Emissive
- [x] MetallicRoughness (ORM swizzle)
- [x] Samplers
- [ ] Shaders
- [ ] Tests
- [ ] ~80% code coverage
- [x] Validator Integration
- [ ] Skinning (weights and joints)
- [ ] Morph targets
- [ ] Animation
- [ ] Expose Export Settings
- [ ] Texture compression (Auto/Always PNG)
- [ ] Jpeg compression level
- [x] Separate .gltf/.bin or Binary
- [x] Active in hierarchy only
Long-Term Features
- [ ] Async export
- [ ] Mesh quantization
- [ ] Sparse accessors
- [ ] GPU instancing
- [ ] Buffer layout
- [ ] (Ideal) Unity layout
- [ ] Compression
- [x] Draco mesh-level compression
- [ ] meshopt bufferview-level compression
- [ ] KTX2/BasisU texture compression
- [ ] Custom data in
extras
property - [ ] XMP meta data
- [ ] Materials
- [ ] TransmissionFactor/Texture
- [x] Clear coat
- [ ] Specular
- [ ] Sheen
- [ ] Volume
- [ ] IOR
- [ ] Specular/Glossiness workflow
- [ ] Variants
- [x] Punctual lights
- [x] Camera
- [ ] DOTS export entity hierarchies
Should I make an extra issue about GPU Instancing support? I want to use instanced meshes with an imported GLTF to save on file sizes.
Should I make an extra issue about GPU Instancing support? I want to use instanced meshes with an imported GLTF to save on file sizes.
So you want the glTFast export to recognize Renderers with identical Meshes/Materials, so that it not only re-uses the Mesh, but adds a EXT_mesh_gpu_instancing extension, minimizing the instance overhead, right?
Yes, I'd suggest to make a dedicated issue, if it is of importance to you.
Yes, I'd suggest to make a dedicated issue, if it is of importance to you.
I've set one up here https://github.com/atteneder/glTFast/issues/461