glMap1f

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

glMap1f target, u1, u2, stride, order, points

target : [int] エバリュエータが生成する値の種類。シンボル定数。target は points にどの種類の制御点が与えられ、マップ評価時にどの種類の出力が生成されるかを示す。9 つの定義済み値を取りうる: GL_MAP1_VERTEX_3 / GL_MAP1_VERTEX_4 (x,y,z (,w) の頂点座標)、GL_MAP1_INDEX (カラーインデックス)、GL_MAP1_COLOR_4 (R,G,B,A)、GL_MAP1_NORMAL (法線ベクトル)、GL_MAP1_TEXTURE_COORD_1..4 (s [,t [,r [,q]]] テクスチャ座標)。
u1 : [float] glEvalCoord1 に渡される u から、このコマンドで指定される方程式が評価する変数 u^ への線形マッピング。
u2 : [float] glEvalCoord1 に渡される u から、このコマンドで指定される方程式が評価する変数 u^ への線形マッピング。
stride : [int] points が参照するデータ構造内で、ある制御点の先頭から次の制御点の先頭までにある float または double の個数。これにより任意のデータ構造に制御点を埋め込める。制約は、1 つの制御点の値が連続したメモリ位置を占めなければならない点のみ。
order : [int] 制御点の数。正でなければならない。
points : [var] 制御点の配列へのポインタ。

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

解説

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

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

[備考]
エバリュエータは多項式または有理多項式マッピングを用いて頂点・法線・テクスチャ座標・カラーを生成する手段を提供する。評価結果は通常の
glVertex / glNormal / glTexCoord / glColor
を用いた場合と同じ後続ステージへ送られるが、現在の法線・テクスチャ座標・カラーを更新しない点が異なる。次数 1 から
GL_MAX_EVAL_ORDER までの多項式 / 有理多項式スプラインを定義でき、内部でバーンスタイン多項式表現を用いる。target
は生成値の種類と制御点の意味を指定し、u1/u2 は u のマッピング、order は制御点の個数、stride
は制御点間の浮動小数点数、points は制御点配列へのポインタ。エバリュエータを有効化するには glEnable に target
を渡す。値を評価するには glEvalCoord1 を使う。関連情報は glGet
(GL_MAX_EVAL_ORDER)、glGetMap、glIsEnabled で取得できる。

情報

プラグイン / モジュール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