glMap2d

glMap2d 関数は 2 次元エバリュエータを定義する。| glMap2d 関数 (Gl.h)

glMap2d target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points

target : [int] エバリュエータが生成する値の種類。次のシンボル定数を受け付ける: GL_MAP2_VERTEX_3 / GL_MAP2_VERTEX_4、GL_MAP2_INDEX、GL_MAP2_COLOR_4、GL_MAP2_NORMAL、GL_MAP2_TEXTURE_COORD_1..4。意味は glMap1 の対応定数と同じ。
u1 : [double] glEvalCoord2 に渡される u から、このコマンドで指定される方程式が評価する 2 変数のうちの u^ への線形マッピング。
u2 : [double] glEvalCoord2 に渡される u から、このコマンドで指定される方程式が評価する 2 変数のうちの u^ への線形マッピング。
ustride : [int] 制御点 R_ij の先頭から R_(i+1)j の先頭までの float/double の個数 (i, j はそれぞれ u, v のインデックス)。任意のデータ構造に制御点を埋め込める。制約は 1 つの制御点の値が連続したメモリ位置を占めなければならない点のみ。
uorder : [int] u 軸方向の制御点配列の次元。正でなければならない。
v1 : [double] glEvalCoord2 に渡される v から、このコマンドで指定される方程式が評価する 2 変数のうちの v^ への線形マッピング。
v2 : [double] glEvalCoord2 に渡される v から、このコマンドで指定される方程式が評価する 2 変数のうちの v^ への線形マッピング。
vstride : [int] 制御点 R_ij の先頭から R_i(j+1) の先頭までの float/double の個数 (i, j はそれぞれ u, v のインデックス)。任意のデータ構造に制御点を埋め込める。制約は 1 つの制御点の値が連続したメモリ位置を占めなければならない点のみ。
vorder : [int] v 軸方向の制御点配列の次元。正でなければならない。
points : [var] 制御点の配列へのポインタ。

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

解説

glMap2d 関数は 2 次元エバリュエータを定義する。| glMap2d 関数 (Gl.h)

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

[備考]
エバリュエータは多項式または有理多項式マッピングを用いて 2 変数 u, v
で頂点・法線・テクスチャ座標・カラーを生成する手段を提供する。生成値は通常の glVertex / glNormal /
glTexCoord / glColor を用いた場合と同じ後続ステージへ送られるが、現在の法線・テクスチャ座標・カラーを更新しない。次数
1 から GL_MAX_EVAL_ORDER までの多項式 /
有理多項式スプラインを定義でき、内部でバーンスタイン多項式表現を用いる。target は生成値の種類と制御点の意味、u1/u2/v1/v2
は u, v のマッピング、uorder/vorder は u, v 軸の制御点数、ustride/vstride
は制御点間の浮動小数点数、points は 2 次元配列の先頭へのポインタ。エバリュエータを有効化するには glEnable に
target を渡し、値を評価するには glEvalCoord2 を使う。

情報

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