Ошибка проверки GLTF MESH_PRIMITIVE_ACCESSOR_WITHOUT_BYTESTRIDE - PullRequest
0 голосов
/ 12 ноября 2019

Так что я работаю над конвертером OBJ / GLTF2, и для простоты я решил использовать один файл для каждого типа буфера, у меня есть местоположения. Bin (вершина) indices.bin Normals.bin и Uvs.binэкспортированные файлы открываются с помощью визуализатора Windows 10, но средство проверки GLTF выводит кучу ошибок MESH_PRIMITIVE_ACCESSOR_WITHOUT_BYTESTRIDE.

Файл структурирован таким образом, что каждый буферный двоичный файл имеет только одно представление и множество средств доступа со смещением (по одному на каждую грань). )

Я что-то не так делаю? или валидатор работает не так, как ожидалось? мои данные плотно упакованы, поэтому я не вижу смысла иметь ByteStride ...

У меня нет хостинга, поэтому я использую наш перевод, извините за это

Файл примера

1 Ответ

1 голос
/ 15 ноября 2019

На этот вопрос ответили здесь: https://github.com/KhronosGroup/glTF/issues/1198

Чтобы подвести итог объяснениям, это то, что bytestride может быть вычтен программным обеспечением, которое читает GLTF, до тех пор, пока представление буфера не распределяется между аксессорами,плотно упакованные данные по-прежнему имеют байтрайд, просто они равны длине данных и ДОЛЖНЫ быть указаны, если их невозможно вычесть.

...