次の方法で共有


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_stridet_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 回の呼び出しを行います。

gluBeginTrimgluEndTrim の呼び出しの間で 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 [デスクトップ アプリのみ]
ヘッダー
Glu.h
ライブラリ
Glu32.lib
[DLL]
Glu32.dll

関連項目

gluBeginSurface

gluBeginTrim

gluEndSurface

gluEndTrim

gluNewNurbsRenderer

gluNurbsCurve

gluPwlCurve