glTexEnviv 函式
glTexEnviv函式會設定紋理環境參數。
語法
void WINAPI glTexEnviv(
GLenum target,
GLenum pname,
const GLint *params
);
參數
-
目標
-
紋理環境。 必須是GL_TEXTURE_ENV。
-
pname
-
單一值紋理環境參數的符號名稱。 接受的值GL_TEXTURE_ENV_MODE和GL_TEXTURE_ENV_COLOR。
-
params
-
參數陣列的指標:單一符號常數或 RGBA 色彩。
傳回值
此函式不會傳回值。
錯誤碼
glGetError函式可以擷取下列錯誤碼。
名稱 | 意義 |
---|---|
|
target 或 pname 不是其中一個可接受的定義值,或者 當 params 應該有定義的常數值時, (根據 pname 的值) 且沒有。 |
|
函式是在 對 glBegin 的呼叫和 glEnd的對應呼叫之間呼叫。 |
備註
紋理環境會指定紋理值在紋理化時如何解譯紋理值。 目標參數必須GL_TEXTURE_ENV。 pname參數可以是 GL_TEXTURE_ENV_MODE 或 GL_TEXTURE_ENV_COLOR。
如果 pname 是GL_TEXTURE_ENV_MODE, 則參數 會 (或指向) 紋理函式的符號名稱。 已定義三個紋理函式:GL_MODULATE、GL_DECAL和GL_BLEND。
紋理函式會使用套用至片段的紋理影像值,對片段採取動作, (請參閱 glTexParameter) 並產生該片段的 RGBA 色彩。 下表顯示如何針對可以選擇的三個紋理函式,產生 RGBA 色彩。 C 是 RGB) 的三倍色彩值 (, A 是相關聯的 Alpha 值。 從紋理影像擷取的 RGBA 值位於範圍 [0, 1]。 下標 f 是指傳入片段、紋理影像的 下標、 紋理環境色彩的下標 c ,下標 v 則表示紋理函式所產生的值。
紋理影像每個紋理元素最多可以有四個元件 (請參閱 glTexImage1D 和 glTexImage2D) 。 在單一元件映射中,Lt 表示單一元件。 雙元件映射使用 L? 和 A? 。 三個元件影像只有色彩值 C? 。 四個元件影像同時具有色彩值 C? 和 Alpha 值 A? 。
元件數目 | GL_MODULATE | GL_DECAL | GL_BLEND |
---|---|---|---|
1${REMOVE}$ |
Cv = 我?Cf | undefined${REMOVE}$ |
Cv = (1 - 我?) Cf + 我?Cc |
Av = Af | Av = Af | ||
2${REMOVE}$ |
Cv = 我?Cf | undefined${REMOVE}$ |
Cv = (1 - 我?) Cf + 我?Cc |
Av = Af | Av = Af | ||
3${REMOVE}$ |
Cv = C?Cf | Cv = C? | undefined${REMOVE}$ |
Av = Af | Av = Af | ||
4${REMOVE}$ |
Cv = C?Cf | Cv = (1 - A?) Cf + 答?C? | undefined${REMOVE}$ |
Av = 答?Af | Av = Af |
如果 pname 是GL_TEXTURE_ENV_COLOR, 則 params 是保存由四個值所組成 RGBA 色彩之陣列的指標。 整數色彩元件會以線性方式解譯,讓最正整數對應至 1.0,而最負整數則對應至 -1.0。 當指定值時,這些值會固定在範圍 [0, 1] 中。 Cc會採用這四個值。
GL_TEXTURE_ENV_MODE預設為 GL_MODULATE,GL_TEXTURE_ENV_COLOR預設值為 (0、0、0、0) 。
下列函式會擷取 glTexEnviv的相關資訊:
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|