# Using Evaluators

The OpenGL evaluator functions allow you to use a polynomial mapping to produce vertices, normals, texture coordinates, and colors. These calculated values are then passed on to the processing pipeline as if they had been directly specified. The evaluator functions are also the basis for the NURBS (Non-Uniform Rational B-Spline) functions, which allow you to define curves and surfaces, as described under OpenGL Utility library.

The first step in using evaluators is to define the appropriate one- or two-dimensional polynomial mapping using **glMap***. You can then specify and evaluate the domain values for this map in one of two ways:

- Define a series of evenly spaced domain values to be mapped using
**glMapGrid**and then evaluate a rectangular subset of that grid with**glEvalMesh**. A single point of the grid can be evaluated using**glEvalPoint**. - Explicitly specify a desired domain value as an argument, which evaluates the maps at that value.

## Related topics

Show: