glEvalCoord(3G) OpenGL Reference glEvalCoord(3G)
NAME
glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f,
glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv - evaluate
enabled one- and two-dimensional maps
C SPECIFICATION
void glEvalCoord1d( GLdouble u )
void glEvalCoord1f( GLfloat u )
void glEvalCoord2d( GLdouble u,
GLdouble v )
void glEvalCoord2f( GLfloat u,
GLfloat v )
PARAMETERS
u Specifies a value that is the domain coordinate u to the basis
function defined in a previous glMap1 or glMap2 command.
v Specifies a value that is the domain coordinate v to the basis
function defined in a previous glMap2 command. This argument is not
present in a glEvalCoord1 command.
C SPECIFICATION
void glEvalCoord1dv( const GLdouble *u )
void glEvalCoord1fv( const GLfloat *u )
void glEvalCoord2dv( const GLdouble *u )
void glEvalCoord2fv( const GLfloat *u )
PARAMETERS
u Specifies a pointer to an array containing either one or two domain
coordinates. The first coordinate is u. The second coordinate is
v, which is present only in glEvalCoord2 versions.
DESCRIPTION
glEvalCoord1 evaluates enabled one-dimensional maps at argument u.
glEvalCoord2 does the same for two-dimensional maps using two domain
values, u and v. To define a map, call glMap1 and glMap2; to enable and
disable it, call glEnable and glDisable.
When one of the glEvalCoord commands is issued, all currently enabled
maps of the indicated dimension are evaluated. Then, for each enabled
map, it is as if the corresponding GL command had been issued with the
computed value. That is, if GLMAP1INDEX or GLMAP2INDEX is enabled, a
glIndex command is simulated. If GLMAP1COLOR4 or GLMAP2COLOR4 is
enabled, a glColor command is simulated. If GLMAP1NORMAL or
GLMAP2NORMAL is enabled, a normal vector is produced, and if any of
GLMAP1TEXTURECOORD1, GLMAP1TEXTURECOORD2,
GLMAP1TEXTURECOORD3, GLMAP1TEXTURECOORD4,
GLMAP2TEXTURECOORD1, GLMAP2TEXTURECOORD2,
GLMAP2TEXTURECOORD3, or GLMAP2TEXTURECOORD4 is enabled, then an
Page 1
glEvalCoord(3G) OpenGL Reference glEvalCoord(3G)
appropriate glTexCoord command is simulated.
For color, color index, normal, and texture coordinates the GL uses
evaluated values instead of current values for those evaluations that are
enabled, and current values otherwise, However, the evaluated values do
not update the current values. Thus, if glVertex commands are
interspersed with glEvalCoord commands, the color, normal, and texture
coordinates associated with the glVertex commands are not affected by the
values generated by the glEvalCoord commands, but only by the most recent
glColor, glIndex, glNormal, and glTexCoord commands.
No commands are issued for maps that are not enabled. If more than one
texture evaluation is enabled for a particular dimension (for example,
GLMAP2TEXTURECOORD1 and GLMAP2TEXTURECOORD2), then only the
evaluation of the map that produces the larger number of coordinates (in
this case, GLMAP2TEXTURECOORD2) is carried out. GLMAP1VERTEX4
overrides GLMAP1VERTEX3, and GLMAP2VERTEX4 overrides
GLMAP2VERTEX3, in the same manner. If neither a three- nor a four-
component vertex map is enabled for the specified dimension, the
glEvalCoord command is ignored.
If you have enabled automatic normal generation, by calling glEnable with
argument GLAUTONORMAL, glEvalCoord2 generates surface normals
analytically, regardless of the contents or enabling of the
GLMAP2NORMAL map. Let
Pp Pp
m = -- X --
Pu Pv
Then the generated normal n is
m
_____
n=
||m||
If automatic normal generation is disabled, the corresponding normal map
GLMAP2NORMAL, if enabled, is used to produce a normal. If neither
automatic normal generation nor a normal map is enabled, no normal is
generated for glEvalCoord2 commands.
ASSOCIATED GETS
glIsEnabled with argument GLMAP1VERTEX3
glIsEnabled with argument GLMAP1VERTEX4
glIsEnabled with argument GLMAP1INDEX
glIsEnabled with argument GLMAP1COLOR4
glIsEnabled with argument GLMAP1NORMAL
glIsEnabled with argument GLMAP1TEXTURECOORD1
glIsEnabled with argument GLMAP1TEXTURECOORD2
glIsEnabled with argument GLMAP1TEXTURECOORD3
glIsEnabled with argument GLMAP1TEXTURECOORD4
glIsEnabled with argument GLMAP2VERTEX3
Page 2
glEvalCoord(3G) OpenGL Reference glEvalCoord(3G)
glIsEnabled with argument GLMAP2VERTEX4
glIsEnabled with argument GLMAP2INDEX
glIsEnabled with argument GLMAP2COLOR4
glIsEnabled with argument GLMAP2NORMAL
glIsEnabled with argument GLMAP2TEXTURECOORD1
glIsEnabled with argument GLMAP2TEXTURECOORD2
glIsEnabled with argument GLMAP2TEXTURECOORD3
glIsEnabled with argument GLMAP2TEXTURECOORD4
glIsEnabled with argument GLAUTONORMAL
glGetMap
MACHINE DEPENDENCIES
RealityEngine, RealityEngine2, and VTX systems do not handle 1D maps for
colors correctly.
SEE ALSO
glBegin, glColor, glEnable, glEvalMesh, glEvalPoint, glIndex, glMap1,
glMap2, glMapGrid, glNormal, glTexCoord, glVertex
Page 3