glTexImage2D

glTexImage2D 関数は 2 次元テクスチャ画像を指定する。

glTexImage2D target, level, internalformat, width, height, border, format, type, pixels

target : [int] 対象テクスチャ。GL_TEXTURE_2D でなければならない。
level : [int] 詳細度レベル番号。レベル 0 が基本イメージレベル、レベル n は n 段階目のミップマップ縮小画像。
internalformat : [int] テクスチャのカラー成分数。1~4、または GL_ALPHA、GL_ALPHA4/8/12/16、GL_LUMINANCE、GL_LUMINANCE4/8/12/16、GL_LUMINANCE_ALPHA 系、GL_INTENSITY、GL_INTENSITY4/8/12/16、GL_R3_G3_B2、GL_RGB、GL_RGB4/5/8/10/12/16、GL_RGBA、GL_RGBA2/4、GL_RGB5_A1、GL_RGBA8、GL_RGB10_A2、GL_RGBA12、GL_RGBA16 のいずれかでなければならない。
width : [int] テクスチャ画像の幅。ある整数 n について 2^n + 2*border でなければならない。
height : [int] テクスチャ画像の高さ。ある整数 m について 2^m + 2*border でなければならない。
border : [int] 境界の幅。0 か 1 でなければならない。
format : [int] ピクセルデータのフォーマット。受け付ける主な値: GL_COLOR_INDEX (カラーインデックス。固定小数化、GL_INDEX_SHIFT/OFFSET 適用後 GL_PIXEL_MAP_I_TO_R/G/B/A で色成分に変換)、GL_STENCIL_INDEX (ステンシル値。glReadPixels 用)、GL_DEPTH_COMPONENT (デプス値。浮動小数化し GL_DEPTH_SCALE/BIAS を適用後 [0,1] にクランプ)、GL_RED/GL_GREEN/GL_BLUE/GL_ALPHA (それぞれ単一成分を浮動小数化して RGBA 要素に組み立て、scale/bias 適用後クランプ)、GL_RGB (RGB トリプル)、GL_RGBA (完全 RGBA)、GL_BGR_EXT/GL_BGRA_EXT (Windows DIB のメモリレイアウトに一致するフォーマット)、GL_LUMINANCE (単一輝度値を R/G/B に複製しアルファに 1.0 を付加)、GL_LUMINANCE_ALPHA (輝度/アルファペア)。
type : [int] ピクセルデータのデータ型。受け付けるシンボル値: GL_UNSIGNED_BYTE、GL_BYTE、GL_BITMAP、GL_UNSIGNED_SHORT、GL_SHORT、GL_UNSIGNED_INT、GL_INT、GL_FLOAT。
pixels : [intptr] メモリ内の画像データへのポインタ。

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

解説

glTexImage2D 関数は 2 次元テクスチャ画像を指定する。

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

[備考]
glTexImage2D は 2
次元テクスチャ画像を指定する。テクスチャリングは指定されたテクスチャ画像の一部を、テクスチャリング有効な各グラフィカルプリミティブにマップする。2
次元テクスチャリングは glEnable / glDisable に GL_TEXTURE_2D
を指定して有効化/無効化する。引数はテクスチャ画像のパラメータ (height、width、境界幅、詳細度レベル番号、カラー成分数)
を表す。最後の 3 引数は画像のメモリ表現を記述し、glDrawPixels と同一。データは type
に応じて符号付き/符号なしのバイト・ショート・ロング、または単精度浮動小数点数列として pixels から読まれ、format に応じて
1~4 個ずつ要素にグループ化される。type が GL_BITMAP のときデータは符号なしバイト列として扱われ (format は
GL_COLOR_INDEX)、ビット順は GL_UNPACK_LSB_FIRST で決まる。type に受け付ける値は
glDrawPixels を参照。テクスチャ画像はテクスチャ要素ごとに最大 4
成分を持つ。カラーインデックスモードでは効果を持たない。GL_STENCIL_INDEX と GL_DEPTH_COMPONENT 以外は
glDrawPixels と同じ形式で表現できる。glPixelStore と glPixelTransfer は
glDrawPixels と同じく影響する。height か width が 0 のテクスチャ画像はヌルテクスチャを表し、レベル 0
で指定するとテクスチャリング無効と同じ扱い。関連情報は glGetTexImageglIsEnabled (GL_TEXTURE_2D)
で取得できる。

情報

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