Rechercher une page de manuel
glTexGen.3gl
Langue: en
Version: 374150 (fedora - 01/12/10)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv - control the generation of texture coordinatesC SPECIFICATION
void glTexGend( GLenum coord,GLenum pname, GLdouble param )void glTexGenf( GLenum coord,
GLenum pname, GLfloat param )void glTexGeni( GLenum coord,
GLenum pname, GLint param )
delim $$
PARAMETERS
- coord
- Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
- pname
- Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
- param
- Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, or GL_SPHERE_MAP.
C SPECIFICATION
void glTexGendv( GLenum coord,GLenum pname, const GLdouble *params )void glTexGenfv( GLenum coord,
GLenum pname, const GLfloat *params )void glTexGeniv( GLenum coord,
GLenum pname, const GLint *params )
PARAMETERS
- coord
- Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
- pname
- Specifies the symbolic name of the texture-coordinate generation function or function parameters. Must be GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE.
- params
- Specifies a pointer to an array of texture generation parameters. If pname is GL_TEXTURE_GEN_MODE, then the array must contain a single symbolic constant, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, or GL_SPHERE_MAP. Otherwise, params holds the coefficients for the texture-coordinate generation function specified by pname.
DESCRIPTION
glTexGen selects a texture-coordinate generation function or supplies coefficients for one of the functions. coord names one of the (s, t, r, q) texture coordinates; it must be one of the symbols GL_S, GL_T, GL_R, or GL_Q. pname must be one of three symbolic constants: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE. If pname is GL_TEXTURE_GEN_MODE, then params chooses a mode, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, or GL_SPHERE_MAP. If pname is either GL_OBJECT_PLANE or GL_EYE_PLANE, params contains coefficients for the corresponding texture generation function. If the texture generation function is GL_OBJECT_LINEAR, the functionis used, where $g$ is the value computed for the coordinate named in coord, $p sub 1$, $p sub 2$, $p sub 3$, and $p sub 4$ are the four values supplied in params, and $x sub o$, $y sub o$, $z sub o$, and $w sub o$ are the object coordinates of the vertex. This function can be used, for example, to texture-map terrain using sea level as a reference plane (defined by $p sub 1$, $p sub 2$, $p sub 3$, and $p sub 4$). The altitude of a terrain vertex is computed by the GL_OBJECT_LINEAR coordinate generation function as its distance from sea level; that altitude can then be used to index the texture image to map white snow onto peaks and green grass onto foothills. If the texture generation function is GL_EYE_LINEAR, the function
is used, where
and $x sub e$, $y sub e$, $z sub e$, and $w sub e$ are the eye coordinates of the vertex, $p sub 1$, $p sub 2$, $p sub 3$, and $p sub 4$ are the values supplied in params, and $M$ is the modelview matrix when glTexGen is invoked. If $M$ is poorly conditioned or singular, texture coordinates generated by the resulting function may be inaccurate or undefined. Note that the values in params define a reference plane in eye coordinates. The modelview matrix that is applied to them may not be the same one in effect when the polygon vertices are transformed. This function establishes a field of texture coordinates that can produce dynamic contour lines on moving objects. If pname is GL_SPHERE_MAP and coord is either GL_S or GL_T, $s$ and $t$ texture coordinates are generated as follows. Let u be the unit vector pointing from the origin to the polygon vertex (in eye coordinates). Let n sup prime be the current normal, after transformation to eye coordinates. Let
Finally, let $ m ~=~ 2 sqrt { f sub x sup {~2} ~+~ f sub y sup {~2} ~+~ (f sub z ~+~ 1 ) sup 2}$. Then the values assigned to the $s$ and $t$ texture coordinates are
ERRORS
GL_INVALID_ENUM is generated when coord or pname is not an accepted defined value, or when pname is GL_TEXTURE_GEN_MODE and params is not an accepted defined value. GL_INVALID_ENUM is generated when pname is GL_TEXTURE_GEN_MODE, params is GL_SPHERE_MAP, and coord is either GL_R or GL_Q. GL_INVALID_OPERATION is generated if glTexGen is executed between the execution of glBegin and the corresponding execution of glEnd.ASSOCIATED GETS
glGetTexGenglIsEnabled with argument GL_TEXTURE_GEN_S
glIsEnabled with argument GL_TEXTURE_GEN_T
glIsEnabled with argument GL_TEXTURE_GEN_R
glIsEnabled with argument GL_TEXTURE_GEN_Q
SEE ALSO
glActiveTextureARB(3G), glCopyPixels(3G), glCopyTexImage2D(3G), glCopyTexSubImage1D(3G), glCopyTexSubImage2D(3G), glCopyTexSubImage3D(3G), glTexEnv(3G), glTexImage1D(3G), glTexImage2D(3G), glTexImage3D(3G), glTexParameter(3G), glTexSubImage1D(3G), glTexSubImage2D(3G), glTexSubImage3D(3G)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre