c ++ получает массивы вершин из буфера (загрузчик модели glTF)

я использую https://github.com/syoyo/tinygltf загрузить модель GLTF. Модели glTF имеют буфер, который включает данные о положении (координаты вершины). Я хочу вывести эти координаты на экран.

for (int i = 0; i < model.meshes.size(); ++i)
{
Mesh &gltfmesh = model.meshes[i];
Primitive &prim = gltfmesh.primitives[i];
Accessor& acess = model.accessors[prim.attributes["POSITION"]];
BufferView& bview = model.bufferViews[acess.bufferView];
Buffer& bfer = model.buffers[bview.buffer];

// cout << bfer.data ... I need to cout the vertex arrays somehow
}

Как вы можете видеть, координаты находятся в Buffer& bfer Теперь я хочу извлечь их в структуры Vec3F (одна структура Vec3F имеет 3 переменные: float x, y, z) или все, что я могу напечатать.

Также я должен отметить, что буфер включает в себя не только координаты вершин, но и их смещение, заданное в BufferView& bview (BufferViews), поэтому мне нужно будет использовать bview.byteOffset как-то определить местоположение вершин в буфере.

Большое спасибо, если вы можете помочь мне!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]