gl.MapGrid(un, u1, u2[, vn, v1, v2])
gl.MapGrid()
and gl.EvalMesh() are used together to efficiently generate and evaluate
a series of evenly-spaced map domain values. gl.EvalMesh() steps through the integer
domain of a one- or two-dimensional grid, whose range is the domain of the evaluation maps specified by
gl.Map().
gl.MapGrid()
specifies 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 gl.Map for details of how u and v coordinates are evaluated.
In one-dimensional mode, gl.MapGrid()
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 |
In two-dimensional mode gl.MapGrid()
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 gl.MapGrid()
are used identically by gl.EvalMesh() and gl.EvalPoint().
Please consult an OpenGL reference manual for more information.
#GL_INVALID_VALUE
is generated if either un
or vn
is not positive.
#GL_INVALID_OPERATION
is generated if gl.MapGrid()
is executed between the execution of gl.Begin() and the corresponding execution of gl.End().
#GL_MAP1_GRID_DOMAIN
gl.Get() with argument #GL_MAP2_GRID_DOMAIN
gl.Get() with argument #GL_MAP1_GRID_SEGMENTS
gl.Get() with argument #GL_MAP2_GRID_SEGMENTS