Name
gl.EvalCoord -- evaluate enabled one- and two-dimensional maps
Synopsis
gl.EvalCoord(u[, v])
Function
gl.EvalCoord() evaluates enabled one- or two-dimensional maps at argument u or u and v. To define a map, call gl.Map(); to enable and disable it, call gl.Enable() and gl.Disable().

When the gl.EvalCoord() command 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 #GL_MAP1_INDEX or #GL_MAP2_INDEX is enabled, a gl.Index() command is simulated. If #GL_MAP1_COLOR_4 or #GL_MAP2_COLOR_4 is enabled, a gl.Color() command is simulated. If #GL_MAP1_NORMAL or #GL_MAP2_NORMAL is enabled, a normal vector is produced, and if any of the constants #GL_MAP1_TEXTURE_COORD_1, #GL_MAP1_TEXTURE_COORD_2, #GL_MAP1_TEXTURE_COORD_3, #GL_MAP1_TEXTURE_COORD_4, or also the constants #GL_MAP2_TEXTURE_COORD_1, #GL_MAP2_TEXTURE_COORD_2, #GL_MAP2_TEXTURE_COORD_3, or #GL_MAP2_TEXTURE_COORD_4 is enabled, then the GL will simulate an appropriate gl.TexCoord() command.

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 gl.Vertex() commands are interspersed with gl.EvalCoord() commands, the color, normal, and texture coordinates associated with the gl.Vertex() commands are not affected by the values generated by the gl.EvalCoord() commands, but only by the most recent gl.Color(), gl.Index(), gl.Normal(), and gl.TexCoord() 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, #GL_MAP2_TEXTURE_COORD_1 and #GL_MAP2_TEXTURE_COORD_2), then only the evaluation of the map that produces the larger number of coordinates (in this case, #GL_MAP2_TEXTURE_COORD_2) is carried out. #GL_MAP1_VERTEX_4 overrides #GL_MAP1_VERTEX_3, and #GL_MAP2_VERTEX_4 overrides #GL_MAP2_VERTEX_3, in the same manner. If neither a three- nor a four-component vertex map is enabled for the specified dimension, the gl.EvalCoord() command is ignored.

If you have enabled automatic normal generation, by calling gl.Enable() with argument #GL_AUTO_NORMAL, gl.EvalCoord() generates surface normals analytically, regardless of the contents or enabling of the #GL_MAP2_NORMAL map. If automatic normal generation is disabled, the corresponding normal map #GL_MAP2_NORMAL, if enabled, is used to produce a normal. If neither automatic normal generation nor a normal map is enabled, no normal is generated for gl.EvalCoord() commands.

Alternatively, you can also pass a table containing one or two domain coordinates to gl.EvalCoord().

Please consult an OpenGL reference manual for more information.

Inputs
u
specifies a value that is the domain coordinate u to the basis function defined in a previous gl.Map() command
v
optional: specifies a value that is the domain coordinate v to the basis function defined in a previous gl.Map() command
Associated gets
gl.IsEnabled() with argument #GL_MAP1_VERTEX_3

gl.IsEnabled() with argument #GL_MAP1_VERTEX_4

gl.IsEnabled() with argument #GL_MAP1_INDEX

gl.IsEnabled() with argument #GL_MAP1_COLOR_4

gl.IsEnabled() with argument #GL_MAP1_NORMAL

gl.IsEnabled() with argument #GL_MAP1_TEXTURE_COORD_1

gl.IsEnabled() with argument #GL_MAP1_TEXTURE_COORD_2

gl.IsEnabled() with argument #GL_MAP1_TEXTURE_COORD_3

gl.IsEnabled() with argument #GL_MAP1_TEXTURE_COORD_4

gl.IsEnabled() with argument #GL_MAP2_VERTEX_3

gl.IsEnabled() with argument #GL_MAP2_VERTEX_4

gl.IsEnabled() with argument #GL_MAP2_INDEX

gl.IsEnabled() with argument #GL_MAP2_COLOR_4

gl.IsEnabled() with argument #GL_MAP2_NORMAL

gl.IsEnabled() with argument #GL_MAP2_TEXTURE_COORD_1

gl.IsEnabled() with argument #GL_MAP2_TEXTURE_COORD_2

gl.IsEnabled() with argument #GL_MAP2_TEXTURE_COORD_3

gl.IsEnabled() with argument #GL_MAP2_TEXTURE_COORD_4

gl.IsEnabled() with argument #GL_AUTO_NORMAL

gl.GetMap()


Show TOC