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

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

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

glTexGetEnviv

規格需求

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

另請參閱

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter