glTexEnvi

GLenum target, GLenum pname, TYPE param

簡介,說明,

簡介

void glTexEnv {i f} (GLenum target, GLenum pname, TYPE param);
設定當前的紋理映射方式。參數target必須為GL_TEXTURE_FILTER_CONTROL或GL_TEXTURE_ENV,GL_POINT_SPRITE。
如果參數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的值。

相關詞條

熱門詞條

聯絡我們