gluNurbsSurface

gluNurbsSurface 関数は NURBS サーフェスの形状を定義する。

gluNurbsSurface nobj, sknot_count, sknot, tknot_count, tknot, s_stride, t_stride, ctlarray, sorder, torder, type

nobj : [intptr] NURBS オブジェクト (**gluNewNurbsRenderer** で作成)。*sknot_count* はパラメトリック *u* 方向のノット数。
sknot_count : [int] 
sknot : [var] パラメトリック *u* 方向の *sknot_count* 個の非減少ノット値の配列。*tknot_count* はパラメトリック *v* 方向のノット数。
tknot_count : [int] 
tknot : [var] パラメトリック *v* 方向の *tknot_count* 個の非減少ノット値の配列。*s_stride*/*t_stride* は *ctlarray* 内での *u*/*v* 方向連続制御点間のオフセット (単精度浮動小数点値)。
s_stride : [int] 
t_stride : [int] 
ctlarray : [var] NURBS サーフェスの制御点配列。パラメトリック *u*/*v* 方向の連続制御点間オフセットは *s_stride* と *t_stride* で与えられる。
sorder : [int] パラメトリック *u* 方向のオーダー。degree + 1 (3 次なら 4)。
torder : [int] パラメトリック *v* 方向のオーダー。degree + 1 (3 次なら 4)。
type : [int] サーフェスの型。GL_MAP2_VERTEX_3 や GL_MAP2_COLOR_4 など任意の 2 次元 evaluator 型を指定できる。

(プラグイン / モジュール : glu32.dll)

解説

gluNurbsSurface 関数は NURBS サーフェスの形状を定義する。

[戻り値]
この関数は値を返さない。

[備考]
**gluNurbsSurface** は NURBS サーフェス定義内で使用し、トリミング前の形状を記述する。開始は
**gluBeginSurface**、終了は **gluEndSurface** でマークする。NURBS
サーフェス定義内でのみ呼び出せる。位置・テクスチャ・色座標はそれぞれ別の **gluNurbsSurface**
で関連付ける。位置はちょうど 1 回 GL_MAP2_VERTEX_3 または GL_MAP2_VERTEX_4
で呼ぶ。**gluBeginTrim**/**gluEndTrim** 間の
**gluNurbsCurve**/**gluPwlCurve** でトリミングできる。*u* に *sknot_count* 個、*v*
に *tknot_count* 個のノット、オーダー *sorder*/*torder* のとき、制御点数は (*sknot_count*
- *sorder*) × (*tknot_count* - *torder*) でなければならない。

情報

プラグイン / モジュールglu32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の glu32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_glu32_gen2.hs