代码之家  ›  专栏  ›  技术社区  ›  Ryan

索引图形的预排序三维文件类型

  •  4
  • Ryan  · 技术社区  · 11 年前

    我一直在做一些与android相关的3d东西,特别是opengl ES 2.0。在我的学习路径中,所有(大多数)例子都向你展示了如何获取obj文件(wavefront.obj)并从中提取顶点。不过,在进一步阅读后,你发现obj文件和其他一些文件类型(当时很流行的)都决定“走自己的路”,尽管大多数3d-lib不能支持独立索引的网格(顶点、法线和纹理坐标的单独索引),但这些文件类型无论如何都使用多个索引的网格。

    所以,无论如何,我的问题是:

    我在一个地方读到,现有的一些文件类型可以很容易地导入到opengl中(即,没有我必须对obj文件中的数据做的所有疯狂的shuffle电动滑动harlem shake之类的事情)。有人知道一些支持索引绘图的单一索引的文件类型吗?

    1 回复  |  直到 11 年前
        1
  •  2
  •   AlunAlun    11 年前

    试试看Quake的MD2格式(这里有很好的教程) http://tfc.duke.free.fr/old/models/md2.htm 其被专门设计为加载到OpenGL中。这是一件很好的事情,尽管它有点过时了。

    相比之下,OBJ格式仍然很强大,而且它有很多优点(简单,广泛支持)。看起来你走的是正确的道路,因为你似乎明白了该格式对顶点、法线和纹理坐标有单独的索引,因此需要为顶点阵列创建单独的索引缓冲区。

    让它正常工作的诀窍是使用快速哈希表解决方案来存储/检索“vert/norm/tex”人脸描述。(我在OBJ进口商的第一次尝试花了7秒读取了一个10000张脸的物体,现在已经降到了0.5秒,而且可能还可以改进!祝你好运!)!