2010-12-03 71 views
3

我正在开发一个带有OpenGL ES 2.0的Android应用程序。从Wavefront OBJ格式加载'索引'

我想加载使用Wavefront OBJ格式的Blender 2.49b进行的导出。我已经确定了verxtex的位置,正常和纹理。我想要使​​用glDrawElements(GLenum模式,GLsizei计数,GLenum类型,常量GLvoid *索引)绘制我的网格,但我不知道如何从Wavefront OBJ文件中获取最后一个参数,索引。

面对我正在寻找的'指数'?

我在一个论坛上发现了这个: faces =从1开始的索引!

'starting with 1!'是什么意思?

感谢。

回答

3

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

面由3个值组成,v/vt/vn是索引。索引没有直接以文件格式指定。相反,它是v,vt,vn元素在文件中出现的顺序。所以当你解析文件时,你必须记录你遇到的顶点,顶点纹理和顶点法线的数量。

有关格式的所有细节,您可以参考规范。

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