[BUG] Accessors with sparse storage but without bufferView fail validation
seberoth opened this issue · 2 comments
Describe the bug
If a accessor uses sparse storage but hasn't defined a bufferView, the validation fails with Message: Accessor[13] _bufferView: must be defined
.
The gltf spec says thats allowed but the accessor MUST be initialized with zeros.
To Reproduce
Example glb file is attached
please complete the following information:
- OS: Windows 11
- SharpGLTF Version: 1.0.0-alpha0030
example accessor
{
"componentType": 5126,
"count": 7251,
"sparse": {
"count": 5920,
"indices": {
"bufferView": 13,
"componentType": 5123
},
"values": {
"bufferView": 14
}
},
"type": "VEC3"
}
a0_005_ma__strongarms_int_l.zip
EDIT: Probably related Blender GLTF plugin commit: KhronosGroup/glTF-Blender-IO@9ea179a
Yes, this is a known issue; for some reason I don't undersand (and I don't fully agree) Khronos accepts glTF with missing buffers as valid.
The problem is that supporting missing buffers breaks some stuff inside the APIs, so I am still reasearching for a proper solution.
I recalled I already asked about this issue here KhronosGroup/glTF-Validator#189
I'll investigate a solution...