共用方式為


glColorSubTableEXT 函式

glColorSubTableEXT函式會指定要取代之目標紋理調色盤的一部分。

語法

void WINAPI glColorSubTableEXT(
         GLenum  target,
         GLsizei start,
         GLsizei count,
         GLenum  format,
         GLenum  type,
   const GLvoid  *data
);

參數

目標

要變更調色盤的目標調色盤紋理。 必須是TEXTURE_1D或TEXTURE_2D。

開始

要變更之調色盤的起始調色盤索引項目目。

計數

要從 開始開始變更調色盤的調色盤索引項目目數目。 count參數會決定已變更的調色盤索引專案範圍。

format

圖元資料的格式。 接受下列符號常數。

意義
GL_RGBA
每個圖元都是下列順序的四個元件群組:紅色、綠色、藍色、Alpha。 RGBA 格式會以此方式決定:
  1. glColorSubTableEXT函式會將浮點值直接轉換成具有未指定精確度的內部格式。 帶正負號的整數值會以線性方式對應到內部格式,讓最正表示的整數值對應至 1.0,而最負數的可表示值會對應至 -1.0。 不帶正負號的整數資料對應方式類似:最大整數值對應至 1.0,而零對應至 0.0。
  2. glColorSubTableEXT函式會將產生的色彩值乘以GL_c_SCALE,並將其新增至GL_c_BIAS,其中c是個別色彩元件的 RED、GREEN、BLUE 和 ALPHA。 結果會限制為範圍 [0,1]。
  3. 如果GL_MAP_COLOR為 TRUEglColorSubTableEXT 會依查閱表格的大小來縮放每個色彩元件GL_PIXEL_MAP_c_TO_c,然後將元件取代為該資料表中所參考的值; c 分別是 R、G、B 或 A。
  4. glColorSubTableEXT函式會將目前點陣位置z座標和紋理座標附加至每個圖元,然後將xy視窗座標指派給第 n個片段,以將產生的 RGBA 色彩轉換成片段?」 = xr + n mod寬度
    y? = yr +n / width
    其中 (xryr ) 是目前的點陣位置。
  5. 然後,這些圖元片段會被視為點陣化點、線條或多邊形所產生的片段。 glColorSubTableEXT函式會在將片段寫入框架緩衝區之前,套用紋理對應、霧和所有片段作業。
GL_RED
每個圖元都是單一紅色元件。
glColorSubTableEXT函式會以 RGBA 圖元紅色元件相同的方式,將此元件轉換成內部格式,然後將它轉換成綠色和藍色設定為 0.0 的 RGBA 圖元,而 Alpha 設定為 1.0。 轉換之後,會將圖元視為 RGBA 圖元。
GL_GREEN
每個圖元都是單一綠色元件。
glColorSubTableEXT函式會以 RGBA 圖元綠色元件相同的方式將此元件轉換成內部格式,然後將它轉換成紅色和藍色設為 0.0 的 RGBA 圖元,而 Alpha 設定為 1.0。 轉換之後,會將圖元視為 RGBA 圖元。
GL_BLUE
每個圖元都是單一藍色元件。
glColorSubTableEXT函式會將此元件轉換成內部格式,與 RGBA 圖元的藍色元件相同,然後將它轉換成紅色和綠色設定為 0.0 的 RGBA 圖元,並將 Alpha 設定為 1.0。 轉換之後,會將圖元視為 RGBA 圖元。
GL_ALPHA
每個圖元都是單一 Alpha 元件。
glColorSubTableEXT函式會以 RGBA 圖元 Alpha 元件相同的方式將此元件轉換成內部格式,然後將它轉換成紅色、綠色和藍色設為 0.0 的 RGBA 圖元。 轉換之後,會將圖元視為 RGBA 圖元。
GL_RGB
每個圖元都是依此順序排列的三個元件群組:紅色、綠色、藍色。
glColorSubTableEXT函式會以 RGBA 圖元的紅色、綠色和藍色元件相同方式,將每個元件轉換成內部格式。 色彩三重會轉換成 RGBA 圖元,並將 Alpha 設為 1.0。 轉換之後,會將圖元視為 RGBA 圖元。
GL_BGR_EXT
每個圖元都是依此順序排列的三個元件群組:藍色、綠色、紅色。
GL_BGR_EXT提供符合 Windows 裝置獨立點陣圖記憶體配置的格式, (DIB) 。 因此,您的應用程式可以搭配 Windows 函式呼叫和 OpenGL 圖元函式呼叫使用相同的資料。
GL_BGRA_EXT
每個圖元都是依此順序排列的四個元件群組:藍色、綠色、紅色、Alpha。
GL_BGRA_EXT提供符合 Windows 裝置獨立點陣圖記憶體配置的格式, (DIB) 。 因此,您的應用程式可以搭配 Windows 函式呼叫和 OpenGL 圖元函式呼叫使用相同的資料。

type

資料的資料類型。 接受下列符號常數:GL_UNSIGNED_BYTE、GL_BYTE、GL_UNSIGNED_SHORT、GL_SHORT、GL_UNSIGNED_INT、GL_INT和GL_FLOAT。

下表摘要說明 類型 參數的有效常數意義。

意義
GL_UNSIGNED_BYTE
不帶正負號的 8 位元整數
GL_BYTE
帶正負號的 8 位元整數
GL_UNSIGNED_SHORT
不帶正負號的 16 位元整數
GL_SHORT
帶正負號的 16 位元整數
GL_UNSIGNED_INT
不帶正負號的 32 位元整數
GL_INT
32 位元整數
GL_FLOAT
單精確度浮點值

data

調色盤紋理資料的指標。 資料會被視為調色盤專案的 1D 紋理調色盤專案的單一圖元。

傳回值

此函式不會傳回值。

錯誤碼

glGetError函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_VALUE
startcount 是不正確整數。
GL_INVALID_ENUM
目標格式類型 不是可接受的值。
GL_INVALID_VALUE
函式是在 對 glBegin 的呼叫和 glEnd的對應呼叫之間呼叫。

備註

glColorSubTableEXT函式會指定要取代之目前目標紋理調色盤的部分。 不同于 glColorTableEXT,您無法將 目標 參數指定為 Proxy 紋理選擇區。

注意

glColorSubTableEXT函式是不屬於標準 OpenGL 程式庫的延伸模組函式,但屬於GL_EXT_paletted_texture延伸模組的一部分。 若要檢查 OpenGL 的實作是否支援 glColorSubTableEXT,請呼叫 glGetString (GL_EXTENSIONS) 。 如果傳回GL_EXT_paletted_texture,則支援 glColorSubTableEXT 。 若要取得擴充函式的函式位址,請呼叫 wglGetProcAddress

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限桌面應用程式]
標頭
Gl.h

另請參閱

glBegin

glColorTableEXT

glEnd

glGetColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

glGetString

wglGetProcAddress