2010-08-27 4 views
4

Я пытаюсь использовать библиотеку Assimp для импорта моделей в рудиментарное приложение OpenGL с использованием VBO.Как получить индексы для glDrawElements()?

Если я правильно понимаю, glDrawElements является одним из идеальных современных способов рисования вещей.

Но как мы можем получить эту информацию из общей библиотеки импорта?

Если у вас есть конкретное знание библиотеки Assimp, это оценили.

-

Что, как правило, процесс создания этих?

ответ

4

Собрать все индексы от aiMesh::mFaces в одном буфере. Обязательно передайте aiProcess_Triangulate Assimp как флаг постпроцессинга (среди aiProcess_JoinVertices и все, что вам кажется полезным) и пропустите точки и линии или обработайте их отдельно.

Различные потоки данных в aiMesh - такие, как aiMesh::mVertices и aiMesh::mNormals должны быть установлены как GL входных потоков данных (glVertexPointer, ...).

1

От documentation он выглядит как aiFace::mIndices от aiMesh::mFaces индекс в aiMesh::mVertices.

aiVector3D выглядит он выкладывается таким образом, что вы должны быть в состоянии иметь возможность просто позвонить glVertexPointer() с mVertices и использовать mIndices непосредственно в glDrawElements() вызова.