Share via


glGetColorTableEXT 関数

glGetColorTableEXT 関数は、現在のターゲット テクスチャ パレットのカラー テーブル データを取得します。

構文

void WINAPI glGetColorTableEXT(
         GLenum target,
         GLenum format,
         GLenum type,
   const GLvoid *data
);

パラメーター

target

パレットを変更するターゲット テクスチャ。 TEXTURE_1DまたはTEXTURE_2Dである必要があります。

format

ピクセル データの形式。 次のシンボリック定数を使用できます。

説明
GL_RGBA
各ピクセルは、赤、緑、青、アルファの 4 つのコンポーネントのグループです。 RGBA 形式は、次の方法で決定されます。
  1. glGetColorTableEXT 関数は、浮動小数点値を精度が指定されていない内部形式に直接変換します。 符号付き整数値は、最も正の表現可能な整数値が 1.0 にマップされ、最も負の表現可能な整数値が -1.0 にマップされるように、内部形式に線形的にマップされます。 符号なし整数データも同様にマップされます。最大の整数値は 1.0 に、ゼロは 0.0 にマップされます。
  2. glGetColorTableEXT 関数は、結果の色の値にGL_c_SCALEを乗算し、それらをGL_c_BIASに追加します。ここで、c はそれぞれの色コンポーネントの RED、GREEN、BLUE、ALPHA です。 結果は[0,1]の範囲にクランプされます。
  3. GL_MAP_COLORが TRUE の場合、 glGetColorTableEXT は各色コンポーネントを参照テーブルのGL_PIXEL_MAP_c_TO_cのサイズでスケーリングし、そのコンポーネントをそのテーブル内で参照する値に置き換えます。 c はそれぞれ R、G、B、または A です。
  4. glGetColorTableEXT 関数は、現在のラスター位置 z 座標とテクスチャ座標を各ピクセルにアタッチし、xy のウィンドウ座標を n番目のフラグメント (x など) に割り当てることで、結果の RGBA 色をフラグメントに変換します。 = xr + n mod width
    y? = yr + n/width
    ここで(xr , yr ) は現在のラスター位置です。
  5. これらのピクセル フラグメントは、ポイント、線、またはポリゴンをラスタライズすることによって生成されたフラグメントと同様に処理されます。 glGetColorTableEXT 関数は、フレームバッファーにフラグメントを書き込む前に、テクスチャ マッピング、霧、およびすべてのフラグメント操作を適用します。
GL_RED
各ピクセルは 1 つの赤いコンポーネントです。
glGetColorTableEXT 関数は、RGBA ピクセルの赤のコンポーネントと同じ方法でこのコンポーネントを内部形式に変換し、緑と青を 0.0 に設定し、アルファを 1.0 に設定した RGBA ピクセルに変換します。 この変換後、ピクセルは RGBA ピクセルとして読み取られたかのように扱われます。
GL_GREEN
各ピクセルは 1 つの緑色のコンポーネントです。
glGetColorTableEXT 関数は、RGBA ピクセルの緑のコンポーネントと同じ方法でこのコンポーネントを内部形式に変換し、赤と青が 0.0 に設定され、アルファが 1.0 に設定された RGBA ピクセルに変換します。 この変換後、ピクセルは RGBA ピクセルとして読み取られたかのように扱われます。
GL_BLUE
各ピクセルは 1 つの青いコンポーネントです。
glGetColorTableEXT 関数は、RGBA ピクセルの青のコンポーネントと同じ方法でこのコンポーネントを内部形式に変換し、赤と緑を 0.0 に設定し、アルファを 1.0 に設定した RGBA ピクセルに変換します。 この変換後、ピクセルは RGBA ピクセルとして読み取られたかのように扱われます。
GL_ALPHA
各ピクセルは 1 つのアルファ コンポーネントです。
glGetColorTableEXT 関数は、RGBA ピクセルのアルファ コンポーネントと同じ方法でこのコンポーネントを内部形式に変換し、赤、緑、青が 0.0 に設定された RGBA ピクセルに変換します。 この変換後、ピクセルは RGBA ピクセルとして読み取られたかのように扱われます。
GL_RGB
各ピクセルは、赤、緑、青の 3 つのコンポーネントのグループです。
glGetColorTableEXT 関数は、RGBA ピクセルの赤、緑、青のコンポーネントと同じ方法で、各コンポーネントを内部形式に変換します。 カラー トリプルは、アルファが 1.0 に設定された RGBA ピクセルに変換されます。 この変換後、ピクセルは RGBA ピクセルとして読み取られたかのように扱われます。
GL_BGR_EXT
各ピクセルは、青、緑、赤の 3 つのコンポーネントのグループです。
GL_BGR_EXTは、Microsoft Windows デバイスに依存しないビットマップ (DIB) のメモリ レイアウトに一致する形式を提供します。 したがって、アプリケーションでは、Windows 関数呼び出しと OpenGL ピクセル関数呼び出しで同じデータを使用できます。
GL_BGRA_EXT
各ピクセルは、青、緑、赤、アルファの 4 つのコンポーネントのグループです。
GL_BGRA_EXTは、Windows デバイスに依存しないビットマップ (DIB) のメモリ レイアウトに一致する形式を提供します。 したがって、アプリケーションは、Windows 関数呼び出しと OpenGL ピクセル関数呼び出しで同じデータを使用できます。

type

データのデータ型。 受け入れられるシンボリック定数とその意味を次に示します。

説明
GL_UNSIGNED_BYTE
符号なし 8 ビット整数
GL_BYTE
符号付き 8 ビット整数
GL_UNSIGNED_SHORT
符号なし 16 ビット整数
GL_SHORT
符号付き 16 ビット整数
GL_UNSIGNED_INT
符号なし 32 ビット整数
GL_INT
32-bit integer
GL_FLOAT
単精度浮動小数点数値

data

返されたカラー テーブル情報が格納される場所を指します。 各カラー テーブルエントリは、1-D テクスチャの 1 ピクセルであるかのように格納されます。 すべてのテクスチャには既定のパレットがあるため、テクスチャ データがパレット形式でない場合でも、 glGetColorTableEXT は常にパレット情報を返します。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
targetformat、または type が受け入れ可能な値ではなかった。
GL_INVALID_OPERATION
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。

注釈

glGetColorTableEXT 関数は、glColorTableEXT および glColorSubTableEXT で指定された実際のカラー テーブル データ取得します。

glGetColorTableEXT 関数は、標準の OpenGL ライブラリの一部ではありませんが、GL_EXT_paletted_texture拡張機能の一部である拡張関数です。 OpenGL の実装で glGetColorTableEXT がサポートされているかどうかをチェックするには、glGetString(GL_EXTENSIONS) を呼び出します。 GL_EXT_paletted_textureを返す場合は、 glGetColorTableEXT がサポートされます。 拡張関数の関数アドレスを取得するには、 wglGetProcAddress を呼び出します。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h

関連項目

glColorSubTableEXT

glColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

wglGetProcAddress