我正在學習openGL,並且我遇到了使用頂點緩衝對象的三角形風扇。如果給定要渲染的頂點數組,OpenGL如何確定必須使用多少頂點來構造三角形扇形。似乎可以使用任意數量的頂點。三角形風扇使用多少個頂點opengl
回答
看吧:GL_TRIANGLE FAN Explanation
頂點越多,你給openGL的,更多的三角形你。所有三角形的第一個頂點將是共同的。第一個三角形由頂點1,2和3組成。第二個三角形由1,3和4組成。依此類推。 你得到n - 2個三角形的n個頂點。
這是您用來執行渲染的命令指定的。例如,drawArrays()
和drawElements()
都有一個count
參數,它指定要使用的頂點數。
這可以通過比較三角形條與三角形風扇很容易解釋。
三角地帶
正如你可能知道,一個三角形地帶是一組連接的三角形,其份額頂點,這使得更多的內存使用效率。 (我們節省內存,因爲我們不存儲所有複製的頂點)的一個三角形地帶
三角形扇
在另一方面,我們有一個三角形扇
爲例,這是也是一組相連的三角形。儘管所有這些三角形都有一個共同的頂點,也就是中心頂點。 (第一個頂點始終是中心)
就是說我們可以採用上面的相同圖像並更改頂點的順序。當完成後,三角扇將看起來像這樣。 (其中A,是在第一和中央頂點)的三角形扇
在三角形扇以上時,圖像僅在着色區域工作
實施例,由於頂點如何需要按照三角扇排列。
更好的解釋是'strip'總是使用一個三角形的**最後2個頂點**作爲前2個頂點下一個三角形。因此,在條形圖中,想象做前3個三角形,然後想要添加三角形C-E-G而不是D-E-G。不能這樣做,因爲D-E自動成爲三角形4的開始。結果可以用'fan'來完成,因爲有一個共同的頂點。結果圖:[Wiki- Triangle fan](https://en.wikipedia.org/wiki/Triangle_fan) – ToolmakerSteve
從外觀上看,這是一個三角形風扇的工作原理:
每個三角形共享中心頂點A
,並重新使用最後一個頂點處理。因此,在定義ABC
之後,每個以下三角形僅需要1個點(例如,D
,E
,F
)。
Indices: A,B,C,D,E,F [Count: 6]
Triangles: (A,B,C)
(A) (C,D)
(A) (D,E)
(A) (E,F) [N=4] --> 4+2 = 6
另一種考慮這種方式的方法是每個三角形共享從中心頂點與前三角形輻射的邊緣;字面上像一個摺疊紙扇。
你需要N + 2個頂點,其中N是你的影迷三角形的數量。
- 1. OpenGL三角形風扇
- 2. 在OpenGL ES中繪製三角形風扇需要多少次繪製調用?
- 3. 用三角形風扇繪製圓形
- 4. 使用頂點緩衝對象渲染不同的三角形類型和三角形扇形? (OpenGL)
- 5. Opengl三角形旋轉頂點修改
- 6. 三角形風扇的紋理座標
- 7. 在OpenGLES中繪製帶有三角形風扇的多邊形
- 8. 使用三個頂點旋轉c中的三角形
- 9. opengl中的三角形多邊形三角形es
- 10. 確定openGL ES頂點着色器中計算的三角形的頂點
- 11. Opengl三角形和麪臨頂點限制?
- 12. OpenGL:指定三角形的意外頂點位置
- 13. 多邊形三角成三角形條帶的OpenGL ES
- 14. 在渲染中使用三角形條和三角形扇有什麼好處?
- 15. 用OpenGL繪製一個三角形
- 16. 三角形頂點 - Lua計算?
- 17. 獲取三角形頂點fabricjs
- 18. 不規則三角形頂點索引
- 19. C中頂點的三角形數量
- 20. 切圓在三角形頂點
- 21. 從直角三角形和一個頂點的兩側查找未知頂點
- 22. 3D三角形 - 三角形交叉點多邊形
- 23. Android OpenGL:爲什麼我缺少2個三角形?
- 24. uv mapping python OpenGL三角形
- 25. OpenGL 3.3 glDrawArrays三角形
- 26. 基本三角形的OpenGL
- 27. OpenGL三角形不渲染
- 28. OpenGL drawing倒三角形
- 29. OpenGL:在繪製多邊形時,如果第一個頂點位於屏幕空間之外(三角形球迷)
- 30. 如何用偶數個頂點倒轉三角形條?
http://stackoverflow.com/questions/8043923/gl-triangle-fan-explanation –