GLMAPGRID(3G) | GLMAPGRID(3G) |
glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f - define a one- or two-dimensional mesh
void glMapGrid1d( GLint un,
GLdouble u1, GLdouble u2 )
void glMapGrid1f( GLint un,
GLfloat u1, GLfloat u2 )
void glMapGrid2d( GLint un,
GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 )
void glMapGrid2f( GLint un,
GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 )
glMapGrid and glEvalMesh are used together to efficiently generate and evaluate a series of evenly-spaced map domain values. glEvalMesh steps through the integer domain of a one- or two-dimensional grid, whose range is the domain of the evaluation maps specified by glMap1 and glMap2.
glMapGrid1 and glMapGrid2 specify the linear grid mappings between the i (or i and j) integer grid coordinates, to the u (or u and v) floating-point evaluation map coordinates. See glMap1 and glMap2 for details of how u and v coordinates are evaluated.
glMapGrid1 specifies a single linear mapping such that integer grid coordinate 0 maps exactly to u1, and integer grid coordinate un maps exactly to u2. All other integer grid coordinates i are mapped so that
u = i(u2-u1)/un+u1
glMapGrid2 specifies two such linear mappings. One maps integer grid
coordinate i=0 exactly to u1, and integer grid coordinate i=un
exactly to u2. The other maps integer grid coordinate j=0 exactly to
v1, and integer grid coordinate j=vn exactly to v2. Other
integer grid coordinates i and j are mapped such that
u = i(u2-u1)/(un+u1)
v = j(v2-v1)/(vn+v1)
The mappings specified by glMapGrid are used identically by glEvalMesh and glEvalPoint.
GL_INVALID_VALUE is generated if either un or vn is not positive.
GL_INVALID_OPERATION is generated if glMapGrid is executed between the execution of glBegin and the corresponding execution of glEnd.
glGet with argument GL_MAP1_GRID_DOMAIN
glGet with argument GL_MAP2_GRID_DOMAIN
glGet with argument GL_MAP1_GRID_SEGMENTS
glGet with argument GL_MAP2_GRID_SEGMENTS
glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMap2