glTexEnvf 函式
glTexEnvf 函式會設定紋理環境參數。
void WINAPI glTexEnvf(
GLenum target,
GLenum pname,
GLfloat param
);
-
目標
-
紋理環境。 必須是GL_TEXTURE_ENV。
-
pname
-
單一值紋理環境參數的符號名稱。 必須是GL_TEXTURE_ENV_MODE。
-
param
-
單一符號常數、GL_MODULATE、GL_DECAL、GL_BLEND或GL_REPLACE。
此函式不會傳回值。
glGetError函式可以擷取下列錯誤碼。
名稱 | 意義 |
---|---|
|
target 或 pname 不是其中一個可接受的定義值,或者 當 params 應該有定義的常數值時, (根據 pname 的值) 且沒有。 |
|
函式是在 對 glBegin 的呼叫和 glEnd的對應呼叫之間呼叫。 |
紋理環境會指定紋理值在紋理化時如何解譯紋理值。 目標參數必須GL_TEXTURE_ENV。 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 - L?) 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 |
GL_TEXTURE_ENV_MODE預設為 GL_MODULATE。
下列函式會擷取 與 glTexEnvf相關的資訊:
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|