私はOpenGLを学習しており、頂点バッファオブジェクトを使用して三角形のファンを見つけました。レンダリングする頂点の配列が与えられている場合、三角形のファンを構築するためにどのくらいの頂点を使用する必要があるのかをOpenGLがどのように決定するのですか?それは、頂点の任意の数を使うことができるようです。三角ファンが使用する頂点の数opengl
答えて
はここを見て:あなたは、OpenGLに与えるGL_TRIANGLE FAN Explanation
以上の頂点、あなたが得るより多くの三角形を。最初の頂点はすべての三角形に共通です。最初の三角形は頂点1と2と3から成ります。二番目の三角形は1,3と4で構成されます。 n個の頂点に対してn - 2個の三角形が得られます。
レンダリングに使用するコマンドで指定します。例えば、drawArrays()
とdrawElements()
の両方には、使用する頂点の数を指定するcount
パラメータがあります。
これは、トライアングルストリップとトライアングルファンを比較すると簡単に説明できます。
トライアングルストリップ
あなたはおそらく知っているように、トライアングルストリップは、頂点を共有する三角形を接続されたセットで、これは、より効率的なメモリ使用量を可能にします。私たちは、これがあるトライアングルファンを持っている一方
トライアングルストリップの例
トライアングルファン
(私たちはすべての重複頂点を格納しないので、我々はメモリを節約します)また、接続された三角形のセット。これらの三角形はすべて共通の頂点を持っていますが、中央の頂点です。 (最初の頂点は常に中央です)
これで、上の同じ画像を取り、頂点の順序を変更できます。それが三角形の扇子を完成させると、このようになります。なぜなら頂点が必要とする方法のため、唯一の着色領域で動作する三角形ファン上記画像三角形ファン
の
例(ここで、第一、中央頂点です)トライアングルファンに合わせて配置されます。
「ストリップ」は、最初の2つの頂点として常に1つの三角形の**最後の2つの頂点**を使用します次の三角形のだからストリップダイアグラムで最初の3つの三角形を作った後、D-E-Gの代わりに三角形C-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. "二等辺三角形の三角形"の頂点を決定する
- 3. OpenGL:指定された三角形の予期しない頂点の位置
- 4. 3つの頂点を使用してcで三角形を回転する
- 5. フラグメントシェーダの三角形の頂点を推測する方法
- 6. 頂点からメッシュの三角形を取得する
- 7. 直角三角形と1頂点の2つの辺から未知の頂点を見つける
- 8. OpenGL ES 2.0、複数の頂点バッファを使用した描画
- 9. 単一の頂点バッファで複数の三角形をレンダリングする
- 10. 三角形の頂点を見つける
- 11. OpenGLの頂点のレイアウト
- 12. Android OpenGLの頂点配列
- 13. OpenGL:頂点インデックスバッファの問題
- 14. OpenGLでの頂点座標
- 15. 三角形の3D頂点からのdz/dx値の決定
- 16. プロット後のMatlabの三角形頂点の変更
- 17. CGAL:メッシュから頂点と三角形を読み取る
- 18. Delaunay三角測量のすべての三角形から1つの頂点のみをマークする方法
- 19. 三角形内の頂点 - 衝突検出
- 20. トライアングルの頂点巻き順(STL)ファイル(三角オブジェクト)
- 21. OpenGL ES:頂点/カラーバッファ/ポインタ
- 22. joglで頂点バッファを使用すると、三角形が多すぎるとクラッシュする
- 23. CGAL 2.5D三角形分割頂点情報
- 24. 三角形を使ったOpenGLのスカイボックス
- 25. OpenGL ES 2.0で三角形ストリップを使用する際のトラブル
- 26. 三角回転のOpenGLシーケンス
- 27. 私は3つの頂点(X、Y、Z)との三角形を持っている三角形
- 28. OpenGL-GLSL描画3D GL_LINES頂点シェーダ対頂点
- 29. 三角形内の異なる頂点を管理する方法
- 30. OpenGLESの三角形ファンでポリゴンを描画する
http://stackoverflow.com/questions/8043923/gl-triangle-fan-explanation –