# glMap2

define a two-dimensional evaluator

## Signature

glMap2( )->
glMap2d( GLenum ( target ) , GLdouble ( u1 ) , GLdouble ( u2 ) , GLint ( ustride ) , GLint ( uorder ) , GLdouble ( v1 ) , GLdouble ( v2 ) , GLint ( vstride ) , GLint ( vorder ) , const GLdouble * ( points ) )-> void
glMap2d( u1 , u2 , v1 , v2 , )
glMap2(target, u1, u2, v1, v2, points[][][]) -> None

This is a completely non-standard signature which doesn't allow for most
of the funky uses with strides and the like, but it has been like this for
a very long time...

glMap2f( GLenum ( target ) , GLfloat ( u1 ) , GLfloat ( u2 ) , GLint ( ustride ) , GLint ( uorder ) , GLfloat ( v1 ) , GLfloat ( v2 ) , GLint ( vstride ) , GLint ( vorder ) , const GLfloat * ( points ) )-> void
glMap2f( u1 , u2 , v1 , v2 , )
glMap2(target, u1, u2, v1, v2, points[][][]) -> None

This is a completely non-standard signature which doesn't allow for most
of the funky uses with strides and the like, but it has been like this for
a very long time...


## Parameters

VariablesDescription
target
Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3 , GL_MAP2_VERTEX_4 , GL_MAP2_INDEX , GL_MAP2_COLOR_4 , GL_MAP2_NORMAL , GL_MAP2_TEXTURE_COORD_1 , GL_MAP2_TEXTURE_COORD_2 , GL_MAP2_TEXTURE_COORD_3 , and GL_MAP2_TEXTURE_COORD_4 are accepted.
u1, u2
Specify a linear mapping of $\mathit{u}$ , as presented to glEvalCoord2 , to $\stackrel{}{\mathit{u}}$ , one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
ustride
Specifies the number of floats or doubles between the beginning of control point ${\mathit{R}}_{\mathit{ij}}$ and the beginning of control point ${\mathit{R}}_{\left(\mathit{i}+1\right)\mathit{j}}$ , where $\mathit{i}$ and $\mathit{j}$ are the $\mathit{u}$ and $\mathit{v}$ control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
uorder
Specifies the dimension of the control point array in the $\mathit{u}$ axis. Must be positive. The initial value is 1.
v1, v2
Specify a linear mapping of $\mathit{v}$ , as presented to glEvalCoord2 , to $\stackrel{}{\mathit{v}}$ , one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
vstride
Specifies the number of floats or doubles between the beginning of control point ${\mathit{R}}_{\mathit{ij}}$ and the beginning of control point ${\mathit{R}}_{\mathit{i}\left(\mathit{j}+1\right)}$ , where $\mathit{i}$ and $\mathit{j}$ are the $\mathit{u}$ and $\mathit{v}$ control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
vorder
Specifies the dimension of the control point array in the $\mathit{v}$ axis. Must be positive. The initial value is 1.
points
Specifies a pointer to the array of control points.

## Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

glMap2f
OpenGLContext tests/dek_surf.py Lines: 51, 52
OpenGLContext tests/dek_texturesurf.py Lines: 65, 66, 67
OpenGL-Demo PyOpenGL-Demo/dek/texturesurf.py Lines: 73, 74