GLUBEGINSURFACE(3G)

名前
gluBeginSurface, gluEndSurface - NURBS 曲面の定義を区切る

書式
void gluBeginSurface( GLUnurbs* nurb )
void gluEndSurface( GLUnurbs* nurb )

引き数

nurb
    NURBS オブジェクト(gluNewNurbsRenderer を使って生成する)を 指定する。

説明
NURBS 曲面の定義の開始は gluBeginSurface を使って示す。 gluBeginSurface を呼んだ後に、ひとつ以上の gluNurbsSurface を呼び出して曲面の属性を定義する。 gluNurbsSurface の呼び出し一回ごとに、 GL_MAP2_VERTEX_3 または GL_MAP2_VERTEX_4 型の曲面がなければならない。 NURBS 曲面の終わりを示すには gluEndSurface を呼び出す。

NURBS 曲面のトリミングは gluBeginTrim, gluPwlCurve, gluNurbsCurve, gluEndTrim で行える。 詳しくは gluBeginTrim の項目を参照すること。

NURBS 曲面は、GL の評価処理を呼び出すことにより多角形の集まりとして レンダリングされる。 レンダリングの間は、評価処理の状態値は glPushAttrib(GL_EVAL_BIT) と glPopAttrib() を使って保存される。 これらの関数呼び出しで保存される状態の正確な情報については glPushAttrib の項目を参照すること。

使用例
以下のコマンドは、法線を持ち、テクスチャ処理された NURBS 曲面を レンダリングする。 テクスチャ座標系と法線も NURBS 曲線として指定する。

gluBeginSurface(nobj);
   gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
   gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
   gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj);

関連項目
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, gluNurbsSurface, gluPwlCurve