glTexEnvfv 函数
glTexEnvfv 函数设置纹理环境参数。
语法
void WINAPI glTexEnvfv(
GLenum target,
GLenum pname,
const GLfloat *params
);
parameters
-
目标
-
纹理环境。 必须GL_TEXTURE_ENV。
-
pname
-
单值纹理环境参数的符号名称。 接受的值是GL_TEXTURE_ENV_MODE和GL_TEXTURE_ENV_COLOR。
-
params
-
指向参数数组的指针:单个符号常量或 RGBA 颜色。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
target 或 pname 不是接受的已定义值之一,或者 当参数 应具有基于 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 表示传入片段,下标 t 表示纹理图像,下标 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 + A?C? | undefined${REMOVE}$ |
Av = A?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) 。
以下函数检索 与 glTexEnvfv 相关的信息:
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|