123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- '\" te
- '\"! tbl|eqn | mmdoc
- '\"macro stdmacro
- .ds Vn Version 1.2
- .ds Dt 24 September 1999
- .ds Re Release 1.2.1
- .ds Dp Jan 14 18:30
- .ds Dm 01 texenv.gl
- .ds Xs 19951 8 texenv.gl
- .TH GLTEXENV 3G
- .SH NAME
- .B "glTexEnvf, glTexEnvi, glTexEnvfv, glTexEnviv
- \- set texture environment parameters
- .SH C SPECIFICATION
- void \f3glTexEnvf\fP(
- GLenum \fItarget\fP,
- .nf
- .ta \w'\f3void \fPglTexEnvf( 'u
- GLenum \fIpname\fP,
- GLfloat \fIparam\fP )
- .fi
- void \f3glTexEnvi\fP(
- GLenum \fItarget\fP,
- .nf
- .ta \w'\f3void \fPglTexEnvi( 'u
- GLenum \fIpname\fP,
- GLint \fIparam\fP )
- .fi
- .EQ
- delim $$
- .EN
- .SH PARAMETERS
- .TP \w'\f2target\fP\ \ 'u
- \f2target\fP
- Specifies a texture environment.
- Must be \%\f3GL_TEXTURE_ENV\fP.
- .TP
- \f2pname\fP
- Specifies the symbolic name of a single-valued texture environment parameter.
- Must be \%\f3GL_TEXTURE_ENV_MODE\fP.
- .TP
- \f2param\fP
- Specifies a single symbolic constant, one of \%\f3GL_MODULATE\fP,
- \%\f3GL_DECAL\fP, \%\f3GL_BLEND\fP, or \%\f3GL_REPLACE\fP.
- .SH C SPECIFICATION
- void \f3glTexEnvfv\fP(
- GLenum \fItarget\fP,
- .nf
- .ta \w'\f3void \fPglTexEnvfv( 'u
- GLenum \fIpname\fP,
- const GLfloat \fI*params\fP )
- .fi
- void \f3glTexEnviv\fP(
- GLenum \fItarget\fP,
- .nf
- .ta \w'\f3void \fPglTexEnviv( 'u
- GLenum \fIpname\fP,
- const GLint \fI*params\fP )
- .fi
- .SH PARAMETERS
- .TP
- \f2target\fP
- Specifies a texture environment.
- Must be \%\f3GL_TEXTURE_ENV\fP.
- .TP
- \f2pname\fP
- Specifies the symbolic name of a texture environment parameter.
- Accepted values are \%\f3GL_TEXTURE_ENV_MODE\fP and \%\f3GL_TEXTURE_ENV_COLOR\fP.
- .TP
- \f2params\fP
- Specifies a pointer to a parameter array that contains
- either a single symbolic constant or an RGBA color.
- .SH DESCRIPTION
- A texture environment specifies how texture values are interpreted
- when a fragment is textured.
- \f2target\fP must be \%\f3GL_TEXTURE_ENV\fP.
- \f2pname\fP can be either \%\f3GL_TEXTURE_ENV_MODE\fP or \%\f3GL_TEXTURE_ENV_COLOR\fP.
- .P
- If \f2pname\fP is \%\f3GL_TEXTURE_ENV_MODE\fP,
- then \f2params\fP is (or points to) the symbolic name of a texture function.
- Four texture functions may be specified:
- \%\f3GL_MODULATE\fP,
- \%\f3GL_DECAL\fP,
- \%\f3GL_BLEND\fP, and
- \%\f3GL_REPLACE\fP.
- .P
- A texture function acts on the fragment to be textured using
- the texture image value that applies to the fragment
- (see \%\f3glTexParameter\fP)
- 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.
- .P
- A texture image can have up to four components per texture element
- (see \%\f3glTexImage1D\fP, \%\f3glTexImage2D\fP, \%\f3glTexImage3D\fP,
- \%\f3glCopyTexImage1D\fP, and \%\f3glCopyTexImage2D\fP).
- 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$.
- .sp
- .ne
- .TS
- center tab(:) ;
- cb cb s s s
- ci c c c c
- c c c c c.
- _
- Base internal:Texture functions
- :\%\f3GL_MODULATE\fP:\%\f3GL_DECAL\fP:\%\f3GL_BLEND\fP:\%\f3GL_REPLACE\fP
- _
- \%\f3GL_ALPHA\fP:$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$
- _
- \%\f3GL_LUMINANCE\fP:$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$
- _
- \%\f3GL_LUMINANCE\fP:$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\fP: : : $+ L sub t C sub c$
- 2:$A sub v ~=~ A sub t A sub f$:\^:$A sub v ~=~ A sub t A sub f$:$A sub v ~=~ A sub t$
- _
- \%\f3GL_INTENSITY\fP:$C sub v ~=~ C sub f I sub t$:undefined:$C sub v ~=~ ( 1 - I sub t ) C sub f$ :$C sub v ~=~ I sub t$
- : : :$+ I sub t C sub c$
- c\^ :$A sub v ~=~ A sub f I sub t$:\^:$A sub v ~=~ ( 1 - I sub t ) A sub f $:$A sub v ~=~ I sub t$
- : : :$+ I sub t A sub c$:
- _
- \%\f3GL_RGB\fP:$C sub v ~=~ C sub t C sub f$:$C sub v ~=~ C sub t$:$C sub v ~=~ (1 - C sub t) C sub f $:$C sub v ~=~ C sub t$
- : : : $+ C sub t C sub c$
- 3:$A sub v ~=~ A sub f$:$A sub v ~=~ A sub f$:$A sub v ~=~ A sub f$:$A sub v ~=~ A sub f$
- _
- \%\f3GL_RGBA\fP:$C sub v ~=~ C sub t C sub f$:$C sub v ~=~ ( 1 - A sub t ) C sub f $:$C sub v ~=~ (1 - C sub t) C sub f $:$C sub v ~=~ C sub t$
- : :$+ A sub t C sub t$: $+ C sub t C sub c$
- 4:$A sub v ~=~ A sub t A sub f$:$A sub v ~=~ A sub f$:$A sub v ~=~ A sub t A sub f$:$A sub v ~=~ A sub t$
- _
- .TE
- .bp
- If \f2pname\fP is \%\f3GL_TEXTURE_ENV_COLOR\fP,
- \f2params\fP is a pointer to an array that holds an RGBA color consisting of four
- values.
- Integer color components are interpreted linearly such that the most
- positive integer maps to 1.0,
- and the most negative integer maps to -1.0.
- The values are clamped to the range [0,1] when they are specified.
- $C sub c$ takes these four values.
- .P
- \%\f3GL_TEXTURE_ENV_MODE\fP defaults to \%\f3GL_MODULATE\fP and
- \%\f3GL_TEXTURE_ENV_COLOR\fP defaults to (0, 0, 0, 0).
- .SH NOTES
- \%\f3GL_REPLACE\fP may only be used if the GL version is 1.1 or greater.
- .P
- Internal formats other than 1, 2, 3, or 4 may only be used if the GL
- version is 1.1 or greater.
- .P
- When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glTexEnv\fP controls
- the texture environment for the current active texture unit, selected by
- \%\f3glActiveTextureARB\fP.
- .sh ERRORS
- \%\f3GL_INVALID_ENUM\fP is generated when \f2target\fP or \f2pname\fP is not
- one of the accepted defined values,
- or when \f2params\fP should have a defined constant value
- (based on the value of \f2pname\fP)
- and does not.
- .P
- \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glTexEnv\fP
- is executed between the execution of \%\f3glBegin\fP
- and the corresponding execution of \%\f3glEnd\fP.
- .SH ASSOCIATED GETS
- \%\f3glGetTexEnv\fP
- .SH SEE ALSO
- \%\f3glActiveTextureARB(3G)\fP,
- \%\f3glCopyPixels(3G)\fP,
- \%\f3glCopyTexImage1D(3G)\fP,
- \%\f3glCopyTexImage2D(3G)\fP,
- \%\f3glCopyTexSubImage1D(3G)\fP,
- \%\f3glCopyTexSubImage2D(3G)\fP,
- \%\f3glCopyTexSubImage3D(3G)\fP,
- \%\f3glTexImage1D(3G)\fP,
- \%\f3glTexImage2D(3G)\fP,
- \%\f3glTexImage3D(3G)\fP,
- \%\f3glTexParameter(3G)\fP,
- \%\f3glTexSubImage1D(3G)\fP,
- \%\f3glTexSubImage2D(3G)\fP,
- \%\f3glTexSubImage3D(3G)\fP
|