从 Wavefront OBJ 格式加载“索引”

Van*_*nel 4 android wavefront opengl-es-2.0

我正在使用 OpenGL ES 2.0 开发 Android 应用程序。

我想加载使用 Blender 2.49b 以 Wavefront OBJ 格式导出的文件。我已经确定了顶点位置、法线和纹理。

我想使用 glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) 来绘制网格,但我不知道如何从 Wavefront OBJ 文件中获取最后一个参数索引。

面孔是我正在寻找的“索引”吗?

我在论坛上发现了这一点:faces =Indexsstartingwith1!

“从 1 开始!”是什么意思?

谢谢。

chu*_*ubs 6

这意味着第一个索引是 1 而不是零。Java/C 数组/集合使用基于零的索引,第一个元素从零开始。Wavefront OBJ 格式索引从 1 开始。

面由 3 个值 v/vt/vn 组成,它们是索引。索引不是直接在文件格式中指定的。相反,它是 v、vt、vn 元素在文件中出现的顺序。因此,当您解析文件时,您必须跟踪遇到的顶点数、顶点纹理和顶点法线。

有关格式的所有详细信息,您需要查阅规范。

http://www.martinreddy.net/gfx/3d/OBJ.spec