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函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_ENUM
targetpname 不是其中一個可接受的定義值,或者 當 params 應該有定義的常數值時, (根據 pname 的值) 且沒有。
GL_INVALID_OPERATION
函式是在 對 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 則表示紋理函式所產生的值。

紋理影像每個紋理元素最多可以有四個元件 (請參閱 glTexImage1DglTexImage2D) 。 在單一元件映射中,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相關的資訊:

glTexGetEnvfv

規格需求

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

另請參閱

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter