2012-08-14 30 views
4

我明白,必須有一些指標魔術得到一個OBJ文件到對OpenGL正確的頂點/索引格式,但考慮到以下obj文件:顯示.OBJ文件是不是所有的三角形或四邊形

# WaveFront *.obj file (generated by CINEMA 4D) 

g Polygon 
v -136.714894 0 -169.395745 
v 134.53617 0 -224.953191 
v 321.906383 0 -87.693617 
v 358.944681 0 182.468085 
v 49.565957 0 264.170213 
v -340.425532 0 165.038298 

f 6 5 4 3 2 1 

面部不是三角形或四邊形,這是否意味着我將不得不在cpu或gpu上進行某種鑲嵌?這是處理這種類型的幾何描述的標準方法嗎?

編輯:另外,有沒有一個圖書館,會做三角測量,沒有限制性許可?

回答

2

希望他們是平面多邊形,並通過您的首選方法三角。

如果他們不是平面,那麼您可能會脫離PCA關閉尺寸並對結果進行三角測量。

+0

對,我意識到,當點不共面時,它不清楚。我甚至嘗試在Cinema 4D中製作一個形狀,導出到OBJ,在Blender中導入,然後他們對它們進行不同的解釋。 – grivescorbett 2012-08-15 04:59:20

0

這取決於你的多邊形。 OpenGL確實具有繪製多邊形而不是四邊形或三角形或條形​​等功能。但是,該多邊形需要是一個凸多邊形。否則,你需要tessellate。

如果您使用固定功能,它是「在glBegin(GL_POLYGON)」

+0

沒錯,但這不是在覈心配置文件中被棄用? – grivescorbett 2012-08-14 22:58:07

+2

@grivescorbett:不,它[*在覈心配置文件中刪除*](http://www.opengl.org/wiki/Core_And_Compatibility_in_Contexts)。 「已棄用」意味着「將來可能會被刪除」。刪除意味着刪除。 – 2012-08-15 01:02:14

+1

'GL_POLYGON'只適用於凸多邊形。 OBJ規範沒有這樣的限制。 – genpfault 2012-08-15 04:26:25