起初,看起來很明顯......只要找到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