gluNurbsSurface 関数
gluNurbsSurface 関数は、非均一な有理 B スプライン (NURBS) サーフェスの形状を定義します。
構文
void WINAPI gluNurbsSurface(
GLUnurbs *nobj,
GLint sknot_count,
float *sknot,
GLint tknot_count,
GLfloat *tknot,
GLint s_stride,
GLint t_stride,
GLfloat *ctlarray,
GLint sorder,
GLint torder,
GLenum type
);
パラメーター
-
nobj
-
NURBS オブジェクト ( gluNewNurbsRenderer で作成)。
-
sknot_count
-
パラメトリック u 方向のノットの数。
-
sknot
-
パラメトリック u 方向sknot_count非宣言ノット値の配列。
-
tknot_count
-
パラメトリック v 方向のノットの数。
-
tknot
-
パラメトリック v 方向tknot_count非宣言ノット値の配列。
-
s_stride
-
ctlarray のパラメトリック u 方向の連続する制御点間のオフセット (単精度浮上点値の数)。
-
t_stride
-
ctlarray のパラメトリック v 方向の連続する制御ポイント間のオフセット (単精度浮動小数点値)。
-
ctlarray
-
NURBS サーフェスのコントロール ポイントを含む配列。 パラメトリック u 方向と v 方向の連続するコントロール ポイント間のオフセットは、 s_stride と t_strideによって指定されます。
-
sorder
-
パラメトリック u 方向の NURBS サーフェスの順序。 次数は次数よりも 1 つ多いため、 u の 3 次サーフェスの u オーダーは 4 です。
-
torder
-
パラメトリック v 方向の NURBS サーフェスの順序。 次数は次数よりも 1 つ多いため、 v の 3 次サーフェスの v オーダーは 4 です。
-
type
-
サーフェスの種類。 型パラメーターには、有効な 2 次元エバリュエーター型 (GL_MAP2_VERTEX_3やGL_MAP2_COLOR_4など) のいずれかを指定できます。
戻り値
この関数は値を返しません。
注釈
NURBS サーフェス定義内で gluNurbsSurface を使用して、(トリミングの前に) NURBS サーフェスの形状を記述します。 NURBS サーフェス定義の先頭をマークするには、 gluBeginSurface 関数を使用します。 NURBS サーフェス定義の終点をマークするには、 gluEndSurface 関数を使用します。 NURBS サーフェス定義内でのみ gluNurbsSurface を呼び出します。
位置座標、テクスチャ座標、色座標をサーフェスに関連付けるには、それぞれを gluBeginSurface/gluEndSurface ペアの間に個別の gluNurbsSurface として表示します。 1 つの gluBeginSurface/gluEndSurface ペア内で、色、位置、およびテクスチャ データに対して gluNurbsSurface を呼び出すことができる呼び出しは 1 つだけです。 サーフェスの位置 (GL_MAP2_VERTEX_3またはGL_MAP2_VERTEX_4の 種類 ) を記述するには、1 回の呼び出しを行います。
gluBeginTrim と gluEndTrim の呼び出しの間で gluNurbsCurve 関数と gluPwlCurve 関数を使用して、NURBS サーフェスをトリミングできます。
u 方向にsknot_countノットを持ち、v 方向に結び目をtknot_countする gluNurbsSurface と、順序 sorder と torder には、(tknot_count torder) コントロール ポイントによってマルチpied (sknot_count - -sorder) が必要です。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|