glTexEnvfv 函式

glTexEnvfv 函式會設定紋理環境參數。

語法

void WINAPI glTexEnvfv(
         GLenum  target,
         GLenum  pname,
   const GLfloat *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
= VAf = VAf
2${REMOVE}$
Cv = 我?Cf undefined${REMOVE}$
Cv = (1 - 我?) Cf + 我?Cc
= v Af = VAf
3${REMOVE}$
Cv = C?Cf Cv = C? undefined${REMOVE}$
= VAf = VAf
4${REMOVE}$
Cv = C?Cf Cv = (1 - A?) Cf + 答:C? undefined${REMOVE}$
= V答:Af = VAf

如果 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) 。

下列函式會擷取 glTexEnvfv的相關資訊:

glTexGetEnvfv

規格需求

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

另請參閱

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter