GLenum target, GLenum pname, TYPE param
簡介,說明,
簡介
void glTexEnv {i f} (GLenum target, GLenum pname, TYPE param);
如果參數target為GL_TEXTURE_FILTER_CONTROL,pname必須為GL_TEXTURE_LOD_BIAS,而param是一個浮點數,用於指定GL_TEXTURE_LOD_BIAS的值。
參數target為GL_TEXTURE_ENV時,參數pname和param的取值見下表。
參數pname | 參數param |
GL_TEXTURE_ENV_MODE | GL_DECAL、GL_REPLACE、GL_MODULATE、GL_BLEND、GL_ADD、GL_COMBINE |
GL_TEXTURE_ENV_COLOR | 包含4個浮點數的數組,表示分量R、G、B、A的值 |
GL_COMBINE_RGB | GL_REPLACE、GL_MODULATE、GL_ADD、GL_ADD_SIGNED、GL_INTERPOLATE、GL_SUBTRACT、GL_DOT3_RGB、GL_DOT3_RGBA |
GL_COMBINE_ALPHA | GL_REPLACE、GL_MODULATE、GL_ADD、GL_ADD_SIGNED、GL_INTERPOLATE、GL_SUBTRACT |
GL_SOURCEi_RGB GL_SOURCEi_ALPHA (i為1、2或3) | GL_TEXTURE、GL_TEXTUREn(where n denotes the nth texture unit and multitlexturing is enabled)、GL_CONSTANT、GL_PRIMARY_COLOR、GL_PREVIOUS |
GL_OPERANDi_RGB (i為1、2或3) | GL_SRC_COLOR、GL_ONE_MINUS_SRC_COLOR、GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA |
GL_OPERANDi_ALPHA (i為1、2或3) | GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA |
GL_RGB_SCALE | 表示顏色分量縮放因子的浮點數 |
GL_ALPHA_SCALE | 表示alpha分量縮放因子的浮點數 |
說明
如果pname為GL_TEXTURE_ENV_MODE,則參數param指定了如何將紋理值和片元的顏色值合併起來。
如果紋理映射方式為GL_BLEND,將使用GL_TEXTURE_ENV_COLOR的值來與片元混合,因此必須設定它。
如果紋理映射方式為GL_COMBINE,還可能需要設定參數GL_COMBINE_RGB、GL_COMBINE_ALPHA、GL_RGB_SCALE或GL_ALPHA_SCALE。如果設定了參數GL_COMBINE_RGB,還可能需要設定參數GL_SOURCEi_RGB和GL_OPERANDi_RGB(其中i 為0、1或2)的值;同樣,如果設定了參數GL_COMBINE_ALPHA,還可能需要設定參數GL_SOURCEi_ALPHA和GL_OPERANDi_ALPHA的值。