The GL provides several categories of drawing subroutines for creating geometric figures, curves and surfaces, and character strings. Some subroutines draw a complete figure while others are very basic and draw only a line or a point. The following sections explain the drawing subroutine categories and how each works:
These subroutines draw primitive graphics figures, points, lines, and polygons, which are described as a set of vertices.
These subroutines draw essentially the same figures as the begin-end style subroutines, but not point-sampled polygons. These subroutines are primarily included for compatibility with existing GL programs.
Color, texture pattern, line style, and many others attributes affect all drawing subroutines. Unless you change an attribute before calling a drawing subroutine, the subroutine renders to the screen using the attributes currently set in the system.
Turning optional pipeline tasks on and off speeds up the rendering process.
The high-level subroutines draw rectangles, circles, arcs, and polygons with varying parameters and in either filled or unfilled styles.
The pixel subroutines handle reading and writing pixel data, which are nongeometric drawing tasks.
The text subroutines handle text drawing, a nongeometric drawing task.
This section deals with smoothing jagged lines of geometric figures through a method called antialiasing.
These subroutines support previous methods for drawing curves and surfaces.
These subroutines support nonuniform rational B-splines (NURBS).