opengl - 我们如何获得 glDrawElements() 的索引?

标签 opengl opengl-3

我正在尝试使用 Assimp 库将模型导入到使用 VBO 的基本 OpenGL 应用程序。

如果我理解正确, glDrawElements 是理想的现代绘画方式之一。

但是我们如何从通用导入库中获取这些信息呢?

如果您有特定的 Assimp 库知识,将不胜感激。

——

生成这些的过程通常是什么?

最佳答案

aiMesh::mFaces 收集所有索引在单个缓冲区中。确保通过aiProcess_Triangulate Assimp 作为后处理标志(在 aiProcess_JoinVertices 和任何对您有用的东西中),并跳过点和线或单独处理它们。
aiMesh中的各种数据流- 如 aiMesh::mVerticesaiMesh::mNormals需要设置为 GL 输入数据流 ( glVertexPointer , ...)。

关于opengl - 我们如何获得 glDrawElements() 的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586582/

相关文章:

opengl - 现代 GLSL 中的每像素光照?

c++ - 如何在 OSX 上使用 glfw3 在 OpenGL 和 OpenCL 之间创建共享上下文?

c++ - 将相机指向 O(0,0,0),45 度

opengl - 如何使用GLSL在Processing 2.2.1中设置glPointSize?

opengl - 计算具有 4 个顶点的面法线

c++ - 为 Sprite 混合设置 alpha 上限

c++ - 在渲染纹理上绘制时出现问题。 (OpengL 3.3)

objective-c - 带 NSOpenGLView 的 OpenGL 3.2

c++ - QGLWidget 忽略 glClear

c++ - 带有 ADS Phong "veiny-looking"球体的 OpenGL 3.x .obj 加载器