Light | Dark

# docs.GL

OpenGL 3
OpenGL 2

# glMapGrid

## Name

glMapGrid — define a one- or two-dimensional mesh

## C Specification

`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`)`;

## Parameters

`un`

  Specifies the number of partitions in the grid range interval [`u1`, `u2`]. Must be positive.

`u1`, `u2`

  Specify the mappings for integer grid domain values i = 0 and i = un .

`vn`

  Specifies the number of partitions in the grid range interval [`v1`, `v2`] (`glMapGrid2` only).

`v1`, `v2`

  Specify the mappings for integer grid domain values j = 0 and j = vn (`glMapGrid2` only).

## Description

`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.

## Errors

`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.

## Associated Gets

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`

## See Also

glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMap2

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.

Think you can improve this page? Edit this page on GitHub.