GLUBEGINPOLYGON(3G)

名前
gluBeginPolygon, gluEndPolygon - 多角形の記述を区切る

書式
void gluBeginPolygon( GLUtesselator* tess )
void gluEndPolygon( GLUtesselator* tess )

引き数

tess
    テセレーションオブジェクト(gluNewTess を使って生成)を指定する。

説明
gluBeginPolygon と gluEndPolygon は 凸でない多角形の定義の境界を示す。 こういった多角形を定義するには、最初に gluBeginPolygon を呼ぶ。 次に各頂点に対して gluTessVertex を呼ぶことと、 gluNextContour を呼んで新しい外形線を開始すること によってポリゴンの外形線を定義する。 最後に、gluEndPolygon を呼び出して定義の終わりを示す。 詳しくは gluNextContour の項目を参照すること。

gluEndPolygon が呼び出されると、多角形はテセレーション処理され、 その結果として得られる三角形群はコールバックを通して参照できる。 コールバック関数の説明については gluTessCallback の項目を 参照すること。

注意
この関数は古くて使うべきでないものであり、後方互換性のためだけに 提供されている。 gluBeginPolygon の呼び出しは、 gluTessBeginPolygon と gluTessBeginContour を順に呼び出す処理に置き換えられる。 gluEndPolygon の呼び出しは、 gluTessEndContour と gluTessEndPolygon を順に呼び出す処理に置き換えられる。

使用例
三角形の穴があいた四角形は次のように記述できる:

gluBeginPolygon(tobj);
   gluTessVertex(tobj, v1, v1);
   gluTessVertex(tobj, v2, v2);
   gluTessVertex(tobj, v3, v3);
   gluTessVertex(tobj, v4, v4); gluNextContour(tobj, GLU_INTERIOR);
   gluTessVertex(tobj, v5, v5);
   gluTessVertex(tobj, v6, v6);
   gluTessVertex(tobj, v7, v7); gluEndPolygon(tobj);

関連項目
gluNewTess, gluNextContour, gluTessCallback, gluTessVertex, gluTessBeginPolygon, gluTessBeginContour