起初,看起来很明显......只要找到4个指标,每个脸部都做2个三角形,对吧?
含义,以下内容:将OBJ文件中的四角形转换为三角形?
v 1.000000 1.000000 0.000000
v -1.000000 1.000000 -0.000000
v 1.000000 -1.000000 0.000000
v -1.000000 -1.000000 -0.000000
f -4 -3 -2 -1
...将反过来,需要转换成类似:
v 1.000000 1.000000 0.000000
v -1.000000 1.000000 -0.000000
v 1.000000 -1.000000 0.000000
v -1.000000 -1.000000 -0.000000
f -4 -3 -2
f -2 -3 -1
这个特殊的例子,当然会正确地呈现。然而,并非所有情况都像将面分割成两个面(其中第一面包含原始面的前三个顶点,并且第二面包含最后3个顶点,如上述示例)一样简单。看看下面的立方体,例如:
v 0.000000 1.000000 1.000000
v 0.000000 0.000000 1.000000
v 1.000000 0.000000 1.000000
v 1.000000 1.000000 1.000000
v 0.000000 1.000000 0.000000
v 0.000000 0.000000 0.000000
v 1.000000 0.000000 0.000000
v 1.000000 1.000000 0.000000
f 1 2 3 4
f 8 7 6 5
f 4 3 7 8
f 5 1 4 8
f 5 6 2 1
f 2 6 7 3
这些面不能在前面的例子中相同的方式分割......所以,我需要知道如何四边形面分割成两个三角形面临的一些方法,同时使用正确指数的第二张脸......
这怎么能实现? 请注意,我没有使用固定功能管道,因此使用GL_QUADS不是一个选项。我的渲染引擎几乎坚持只使用GL_TRIANGLES。
我明白这里的混乱,我花最近两天试图弄清楚这一点。这些不是QUADs,而是三角形条,文档很差。 – Geoffrey