2013-04-05 98 views
1

在OpenGL ES中,是否可以使用退化三角形(具有0區域的三角形)來分隔頂點數組中的TRIANGLE_FAN對象?或者只有TRIANGLE_STRIP纔有可能?OpenGL ES退化三角形與TRIANGLE_FAN?

如果答案是否定的,將多個TRIANGLE_FAN頂點數組繪製調用分爲一個的最佳方法是什麼?

回答

2

你是對的,答案是否定的,因爲所有三角形扇形三角形共享相同的頂點。

如果您想分批多個三角形風扇,最好使用Vertex Buffer Objects或VBO與GL_TRIANGLES模式。將有一個小的索引緩衝區開銷,但它會提供更好的靈活性。

+1

謝謝,這有助於。此外,這裏是[另一個鏈接](http://www.learnopengles.com/android-lesson-seven-an-introduction-to-vertex-buffer-objects-vbos/)VBO特定於Android/Java OpenGL ES使用情況的信息有一些很好的例子。 – khiner 2013-04-06 02:40:02

1

你也可以將你的表面三角化爲條而不是風扇。它將允許您使用退化三角形並將您的繪圖調用分組到一箇中。

如果你的表面是n-gon,那很簡單。只需改變頂點創建的順序。不是繞着中心走,而是選擇一個頂點來開始並通過在兩側迭代來生成其他頂點。這是一個Hexagon的例子。左圖像使用三角形條,中間使用風扇。

+0

這不僅僅是一個答案而是一個評論。 – 2014-10-17 22:07:41

+0

啊我沒有足夠的聲望發表評論:( – Milo 2014-10-17 22:26:02

+0

似乎像一個捕獲22,但獲得這種聲譽的最佳方式是提出良好的問題,給出良好的答案,並對有問題的文本進行良好的編輯。每天限制200個信譽,並且獎勵和接受的答案不在此限制範圍內;) – 2014-10-17 22:36:49

相關問題