-
Notifications
You must be signed in to change notification settings - Fork 220
Open
Description
Module and/or Feature
@luma.gl/gltf - glTF parser (createScenegraphsFromGLTF)
Description
When loading 3D Tiles containing quantized point cloud data using Deck.gl's ScenegraphLayer, luma.gl throws an error.
There are two issues:
-
Non-indexed geometry not supported - glTF files without
primitive.indices(such as point clouds) causegetVertexCount not implementederror because the function was never implemented. -
16-bit x3 vertex formats not supported - glTF files using the KHR_mesh_quantization extension with 16-bit x3 vertex formats (
uint16x3,snorm8x3, etc.) cause errors.
Expected Behavior
The glTF parser should:
- Calculate vertex count from attributes when indices are not present
- Support WebGL-only 16-bit x3 vertex formats for KHR_mesh_quantization
Steps to Reproduce
-
Load a glTF/GLB file that:
- Has no
primitive.indices(non-indexed geometry), OR - Uses KHR_mesh_quantization extension with quantized vertex data
- For example: [Bug] ScenegraphLayer: load quantized glb deck.gl#9213 (comment)
- Has no
-
The glTF parser throws an error
Environment
- Framework version: luma.gl 9.x / deck.gl 9.x
- Browser: Any (WebGL backend)
- OS: Any
Logs
deck: initialization of ScenegraphLayer({id: '3d-tiles-scenegraph-[...]'}):
getVertexCount not implemented
Error: getVertexCount not implemented
at GLTFInstantiator.getVertexCount
at GLTFInstantiator.createPrimitive
...
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels