NAME

glTexEnvf, glTexEnvi, glTexEnvfv, glTexEnviv - set texture environment parameters

C SPECIFICATION

void ggllTTeexxEEnnvvff( GLenum _t_a_r_g_e_t,
                GLenum _p_n_a_m_e,
                GLfloat _p_a_r_a_m )
void ggllTTeexxEEnnvvii( GLenum _t_a_r_g_e_t,
                GLenum _p_n_a_m_e,
                GLint _p_a_r_a_m )

delim $$

PARAMETERS

_t_a_r_g_e_t
Specifies a texture environment. Must be GGLL__TTEEXXTTUURREE__EENNVV.
_p_n_a_m_e
Specifies the symbolic name of a single-valued texture environment parameter. Must be GGLL__TTEEXXTTUURREE__EENNVV__MMOODDEE.
_p_a_r_a_m
Specifies a single symbolic constant, one of GGLL__MMOODDUULLAATTEE, GGLL__DDEECCAALL, GGLL__BBLLEENNDD, or GGLL__RREEPPLLAACCEE.

C SPECIFICATION

void ggllTTeexxEEnnvvffvv( GLenum _t_a_r_g_e_t,
                 GLenum _p_n_a_m_e,
                 const GLfloat _*_p_a_r_a_m_s )
void ggllTTeexxEEnnvviivv( GLenum _t_a_r_g_e_t,
                 GLenum _p_n_a_m_e,
                 const GLint _*_p_a_r_a_m_s )

PARAMETERS

_t_a_r_g_e_t
Specifies a texture environment. Must be GGLL__TTEEXXTTUURREE__EENNVV.
_p_n_a_m_e
Specifies the symbolic name of a texture environment parameter. Accepted values are GGLL__TTEEXXTTUURREE__EENNVV__MMOODDEE and GGLL__TTEEXXTTUURREE__EENNVV__CCOOLLOORR.
_p_a_r_a_m_s
Specifies a pointer to a parameter array that contains either a single symbolic constant or an RGBA color.

DESCRIPTION

A texture environment specifies how texture values are interpreted when a fragment is textured. _t_a_r_g_e_t must be GGLL__TTEEXXTTUURREE__EENNVV. _p_n_a_m_e can be either GGLL__TTEEXXTTUURREE__EENNVV__MMOODDEE or GGLL__TTEEXXTTUURREE__EENNVV__CCOOLLOORR.

If _p_n_a_m_e is GGLL__TTEEXXTTUURREE__EENNVV__MMOODDEE, then _p_a_r_a_m_s is (or points to) the symbolic name of a texture function. Four texture functions may be specified: GGLL__MMOODDUULLAATTEE, GGLL__DDEECCAALL, GGLL__BBLLEENNDD, and GGLL__RREEPPLLAACCEE.

A texture function acts on the fragment to be textured using the texture image value that applies to the fragment (see ggllTTeexxPPaarraammeetteerr) and produces an RGBA color for that fragment. The following table shows how the RGBA color is produced for each of the three texture functions that can be chosen. $C$ is a triple of color values (RGB) and $A$ is the associated alpha value. RGBA values extracted from a texture image are in the range [0,1]. The subscript $f$ refers to the incoming fragment, the subscript $t$ to the texture image, the subscript $c$ to the texture environment color, and subscript $v$ indicates a value produced by the texture function.

A texture image can have up to four components per texture element (see ggllTTeexxIImmaaggee11DD, ggllTTeexxIImmaaggee22DD, ggllTTeexxIImmaaggee33DD, ggllCCooppyyTTeexxIImmaaggee11DD, and ggllCCooppyyTTeexxIImmaaggee22DD). In a one-component image, $L sub t$ indicates that single component. A two-component image uses $L sub t$ and $A sub t$. A three-component image has only a color value, $C sub t$. A four-component image has both a color value $C sub t$ and an alpha value $A sub t$.

center tab(:) ;
cb cb s s s
ci c c c c
c c c c c.
_
Base internal:Texture functions
:GGLL__MMOODDUULLAATTEE:GGLL__DDEECCAALL:GGLL__BBLLEENNDD:GGLL__RREEPPLLAACCEE
_
GGLL__AALLPPHHAA:$C sub v ~=~ C sub f$:undefined:$C sub v ~=~  C sub f$:$C sub v ~=~ C sub f$
 :$A sub v ~=~ A sub f A sub t$::$A sub v ~=~ A sub f$:$A sub v ~=~ A sub t$
_
GGLL__LLUUMMIINNAANNCCEE:$C sub v ~=~ L sub t C sub f$:undefined:$C sub v ~=~ ( 1 - L sub t ) C sub f$:$C sub v ~=~ L sub t$
: : :$+ L sub t C sub c$:
1: $A sub v ~=~ A sub f$:: $A sub v ~=~ A sub f$:$A sub v ~=~ A sub f$
_
GGLL__LLUUMMIINNAANNCCEE:$C sub v ~=~ L sub t C sub f$:undefined:$C sub v ~=~ ( 1 - L sub t ) C sub f $:$C sub v ~=~ L sub t$
\f3_ALPHA:: :: :: $$++ LL ssuubb tt CC ssuubb cc$$
22::$$AA ssuubb vv ~~==~~ AA ssuubb tt AA ssuubb ff$$::::$$AA ssuubb vv ~~==~~ AA ssuubb tt AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb tt$$
__
GGLL__IINNTTEENNSSIITTYY::$$CC ssuubb vv ~~==~~ CC ssuubb ff II ssuubb tt$$::uunnddeeffiinneedd::$$CC ssuubb vv ~~==~~ (( 11 -- II ssuubb tt )) CC ssuubb ff$$ ::$$CC ssuubb vv ~~==~~ II ssuubb tt$$
:: :: ::$$++ II ssuubb tt CC ssuubb cc$$
cc ::$$AA ssuubb vv ~~==~~ AA ssuubb ff II ssuubb tt$$::::$$AA ssuubb vv ~~==~~ (( 11 -- II ssuubb tt )) AA ssuubb ff $$::$$AA ssuubb vv ~~==~~ II ssuubb tt$$
:: :: ::$$++ II ssuubb tt AA ssuubb cc$$::
__
GGLL__RRGGBB::$$CC ssuubb vv ~~==~~ CC ssuubb tt CC ssuubb ff$$::$$CC ssuubb vv ~~==~~ CC ssuubb tt$$::$$CC ssuubb vv ~~==~~ ((11 -- CC ssuubb tt)) CC ssuubb ff $$::$$CC ssuubb vv ~~==~~ CC ssuubb tt$$
:: :: :: $$++ CC ssuubb tt CC ssuubb cc$$
33::$$AA ssuubb vv ~~==~~ AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb ff$$
__
GGLL__RRGGBBAA::$$CC ssuubb vv ~~==~~ CC ssuubb tt CC ssuubb ff$$::$$CC ssuubb vv ~~==~~ (( 11 -- AA ssuubb tt )) CC ssuubb ff $$::$$CC ssuubb vv ~~==~~ ((11 -- CC ssuubb tt)) CC ssuubb ff $$::$$CC ssuubb vv ~~==~~ CC ssuubb tt$$
:: ::$$++ AA ssuubb tt CC ssuubb tt$$:: $$++ CC ssuubb tt CC ssuubb cc$$
44::$$AA ssuubb vv ~~==~~ AA ssuubb tt AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb tt AA ssuubb ff$$::$$AA ssuubb vv ~~==~~ AA ssuubb tt$$
__
<>






IIff _p_n_a_m_e iiss GGLL__TTEEXXTTUURREE__EENNVV__CCOOLLOORR,,
_p_a_r_a_m_s iiss aa ppooiinntteerr ttoo aann aarrrraayy tthhaatt hhoollddss aann RRGGBBAA ccoolloorr ccoonnssiissttiinngg ooff ffoouurr
vvaalluueess..
IInntteeggeerr ccoolloorr ccoommppoonneennttss aarree iinntteerrpprreetteedd lliinneeaarrllyy ssuucchh tthhaatt tthhee mmoosstt
ppoossiittiivvee iinntteeggeerr mmaappss ttoo 11..00,,
aanndd tthhee mmoosstt nneeggaattiivvee iinntteeggeerr mmaappss ttoo --11..00..
TThhee vvaalluueess aarree ccllaammppeedd ttoo tthhee rraannggee [[00,,11]] wwhheenn tthheeyy aarree ssppeecciiffiieedd..
$$CC ssuubb cc$$ ttaakkeess tthheessee ffoouurr vvaalluueess..
<>
GGLL__TTEEXXTTUURREE__EENNVV__MMOODDEE ddeeffaauullttss ttoo GGLL__MMOODDUULLAATTEE aanndd
GGLL__TTEEXXTTUURREE__EENNVV__CCOOLLOORR ddeeffaauullttss ttoo ((00,, 00,, 00,, 00))..
<> NNOOTTEESS <>
GGLL__RREEPPLLAACCEE mmaayy oonnllyy bbee uusseedd iiff tthhee GGLL vveerrssiioonn iiss 11..11 oorr ggrreeaatteerr..
<>
IInntteerrnnaall ffoorrmmaattss ootthheerr tthhaann 11,, 22,, 33,, oorr 44 mmaayy oonnllyy bbee uusseedd iiff tthhee GGLL
vveerrssiioonn iiss 11..11 oorr ggrreeaatteerr..
<>
WWhheenn tthhee GGLL__AARRBB__mmuullttiitteexxttuurree eexxtteennssiioonn iiss ssuuppppoorrtteedd,, ggllTTeexxEEnnvv ccoonnttrroollss
tthhee tteexxttuurree eennvviirroonnmmeenntt ffoorr tthhee ccuurrrreenntt aaccttiivvee tteexxttuurree uunniitt,, sseelleecctteedd bbyy
ggllAAccttiivveeTTeexxttuurreeAARRBB..
GGLL__IINNVVAALLIIDD__EENNUUMM iiss ggeenneerraatteedd wwhheenn _t_a_r_g_e_t oorr _p_n_a_m_e iiss nnoott
oonnee ooff tthhee aacccceepptteedd ddeeffiinneedd vvaalluueess,,
oorr wwhheenn _p_a_r_a_m_s sshhoouulldd hhaavvee aa ddeeffiinneedd ccoonnssttaanntt vvaalluuee
((bbaasseedd oonn tthhee vvaalluuee ooff _p_n_a_m_e))
aanndd ddooeess nnoott..
<>
GGLL__IINNVVAALLIIDD__OOPPEERRAATTIIOONN iiss ggeenneerraatteedd iiff ggllTTeexxEEnnvv
iiss eexxeeccuutteedd bbeettwweeeenn tthhee eexxeeccuuttiioonn ooff ggllBBeeggiinn
aanndd tthhee ccoorrrreessppoonnddiinngg eexxeeccuuttiioonn ooff ggllEEnndd..
<> AASSSSOOCCIIAATTEEDD GGEETTSS <>
ggllGGeettTTeexxEEnnvv
<> SSEEEE AALLSSOO <>
ggllAAccttiivveeTTeexxttuurreeAARRBB((33GG)),,
ggllCCooppyyPPiixxeellss((33GG)),,
ggllCCooppyyTTeexxIImmaaggee11DD((33GG)),,
ggllCCooppyyTTeexxIImmaaggee22DD((33GG)),,
ggllCCooppyyTTeexxSSuubbIImmaaggee11DD((33GG)),,
ggllCCooppyyTTeexxSSuubbIImmaaggee22DD((33GG)),,
ggllCCooppyyTTeexxSSuubbIImmaaggee33DD((33GG)),,
ggllTTeexxIImmaaggee11DD((33GG)),,
ggllTTeexxIImmaaggee22DD((33GG)),,
ggllTTeexxIImmaaggee33DD((33GG)),,
ggllTTeexxPPaarraammeetteerr((33GG)),,
ggllTTeexxSSuubbIImmaaggee11DD((33GG)),,
ggllTTeexxSSuubbIImmaaggee22DD((33GG)),,
ggllTTeexxSSuubbIImmaaggee33DD((33GG))
                 <>
<>