Triangle Strip

triangle-strip.png

TRIANGLE_STRIPとは?

stripとはという意味
少ない頂点でより多くの三角形を描くことが出来ます
最適化されたTRIANGLE_STRIPならば、k個の三角形で2+k個の頂点で事足りるのである。
もしTRIANGLE_STRIPを使わないで、全部3角形1個ずつ描いたら、k個の三角形で3k個の頂点が必要になってしまう

Triangle Stripのためのアルゴリズム

  • SGI
  • STRIPE
  • Tunneling

Tunneling

tunneling.pdf…論文

TRIANGLE_STRIPから描画結果を考えるには

基本的に、頂点インデックスを一つずつすらして3個ペアを作り、その3個ペアが三角形になるイメージです
さらにその三角形ペアが、インデックスと同じ順、逆順、と交互になります。
そうしなければいけない理由は、三角形を作る時に頂点が半時計周りでないと、「表側」にならず、GL_CULL_BACKFACEで描画されなくなるからです。
たとえばこのページの表紙絵は頂点が

v0,v1,v2,v3,v4

と並んでいますが、これをTRIANGLE_STRIPで描いて結果的に描画される三角形は

(v0,v1,v2),逆(v1,v2,v3),(v2,v3,v4)

つまり、

(v0,v1,v2),(v3,v2,v1),(v2,v3,v4)

太字のところが逆順になっています


primitive triangle

サポートサイト Wikidot.com primitivetriangle