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 $$
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 )
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$$ __ </pprree>> 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 </hh33>> 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 </hh33>> ggllGGeettTTeexxEEnnvv < > SSEEEE AALLSSOO </hh33>> 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)) < > </bbooddyy>>