2010-08-27 4 views
4

J'essaie d'utiliser la bibliothèque Assimp pour importer des modèles dans une application OpenGL rudimentaire avec l'utilisation de VBO. Si je comprends bien, glDrawElements est l'un des moyens modernes modernes pour dessiner les choses. Mais comment obtenir cette information à partir d'une bibliothèque d'importation générique?Comment obtenons-nous des indices pour glDrawElements()?

Si vous avez des connaissances spécifiques sur la bibliothèque Assimp, c'est apprécié.

-

Ce qui est généralement le processus pour générer ces?

Répondre

4

Collecter tous les indices de aiMesh::mFaces dans un seul tampon. Assurez-vous de passer aiProcess_Triangulate à Assimp comme indicateur de post-traitement (parmi aiProcess_JoinVertices et tout ce qui vous semble utile), et de passer outre les points et les lignes ou de les traiter séparément.

Les différents flux de données dans aiMesh - tels que aiMesh::mVertices et aiMesh::mNormals doivent être définis comme les flux de données d'entrée GL (glVertexPointer, ...).

1

A partir du documentation, il ressemble à l'aiFace::mIndices d'un index aiMesh::mFaces en aiMesh::mVertices.

aiVector3D ressemble il est disposé de telle sorte que vous devriez être en mesure de pouvoir appeler juste glVertexPointer() avec mVertices et utiliser mIndices directement dans votre appel glDrawElements().

Questions connexes