gluNurbsCurve 関数
gluNurbsCurve 関数は、均一でない有理 B スプライン (NURBS) 曲線の形状を定義します。
構文
void WINAPI gluNurbsCurve(
GLUnurbs *nobj,
GLint nknots,
GLfloat *knot,
GLint stride,
GLfloat *ctlarray,
GLint order,
GLenum type
);
パラメーター
-
nobj
-
NURBS オブジェクト ( gluNewNurbsRenderer で作成)。
-
nknots
-
ノット内のノットの数。 nknots パラメーターは、制御ポイントの数と順序と等しくなります。
-
結び目
-
結び目以外の 値を宣言する nknots の配列。
-
stride
-
連続する曲線コントロール ポイント間のオフセット (単精度浮動小数点値の数)。
-
ctlarray
-
コントロール ポイントの配列へのポインター。 座標は 型と一致する必要があります。
-
order
-
NURBS カーブの順序。 order パラメーターは次数 + 1 と等しくなります。したがって、3 次曲線の順序は 4 です。
-
type
-
曲線の種類。 この曲線が gluBeginCurve/gluEndCurve ペア内で定義されている場合、その型には有効な 1 次元エバリュエーター型 (GL_MAP1_VERTEX_3やGL_MAP1_COLOR_4など) のいずれかを指定できます。 gluBeginTrim/gluEndTrim ペアの間では、有効な型はGLU_MAP1_TRIM_2とGLU_MAP1_TRIM_3のみです。
戻り値
この関数は値を返しません。
注釈
gluBeginCurve/gluEndCurve ペアの間に gluNurbsCurve が表示されると、レンダリングされる曲線が記述されます。 位置座標、テクスチャ座標、および色座標を関連付けるには、それぞれを gluBeginCurve/gluEndCurve ペアの間に個別の gluNurbsCurve として表示します。 1 つの gluBeginCurve/gluEndCurve ペア内の色、位置、テクスチャ データに対して gluNurbsCurve を複数回呼び出さないでください。 正確に 1 つの呼び出しを行って、曲線の位置 (GL_MAP1_VERTEX_3またはGL_MAP1_VERTEX_4の 種類 ) を記述します。
gluBeginTrimgluEndTrim/ ペアの間に gluNurbsCurve が表示されると、NURBS サーフェス上のトリミング曲線が記述されます。 type がGLU_MAP1_TRIM_2の場合、2 次元 (u および v) のパラメーター空間で曲線が記述されます。 GLU_MAP1_TRIM_3の場合は、2 次元同種 (u、 v、 w) パラメーター空間で曲線を記述します。 曲線のトリミングの詳細については、「 gluBeginTrim」を参照してください。
例
次の関数は、法線を使用してテクスチャ化された NURBS 曲線をレンダリングします。
gluBeginCurve(nobj);
gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|