GLTF 验证错误 MESH_PRIMITIVE_ACCESSOR_WITHOUT_BYTESTRIDE

GLTF validation error MESH_PRIMITIVE_ACCESSOR_WITHOUT_BYTESTRIDE

所以我正在开发一个 OBJ/GLTF2 转换器,为了简单起见,我决定为每种缓冲区使用一个文件,我有 positions.bin(顶点)indices.bin Normals.bin 和 Uvs.bin 导出的文件使用 windows 10 可视化工具打开,但 GLTF 验证器打印出一堆 MESH_PRIMITIVE_ACCESSOR_WITHOUT_BYTESTRIDE 错误。

文件的结构使得每个缓冲区二进制文件只有一个视图和许多带偏移量的访问器(每个面一个)

我做错了什么?或者验证器没有按预期工作?我的数据非常紧凑,所以我认为没有理由使用 ByteStride ...

我没有主机所以我正在使用我们转移到这里,很抱歉

Example file

这里已经回答了这个问题:https://github.com/KhronosGroup/glTF/issues/1198

总结一下,只要缓冲区视图不在访问器之间共享,读取 GLTF 的软件就可以扣除 bytestride,紧密打包的数据仍然有 bytestride,它恰好相等到数据长度,不能扣除时必须指定。