次の方法で共有


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 次元同種 (uvw) パラメーター空間で曲線を記述します。 曲線のトリミングの詳細については、「 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 [デスクトップ アプリのみ]
ヘッダー
Glu.h
ライブラリ
Glu32.lib
[DLL]
Glu32.dll

関連項目

gluBeginCurve

gluBeginTrim

gluEndCurve

gluEndTrim

gluNewNurbsRenderer

gluPwlCurve