frustum
The view volume warped by perspective division, gamma correction
A function applied to colors stored in the framebuffer to correct for the nonlinear response of the eye (and sometimes of the monitor) to linear changes in color-intensity values.
geometric model
The object-coordinate vertices and parameters that describe an object. Note that OpenGL doesn’t define a syntax for geometric models, but rather a syntax and semantics for the rendering of geometric models.
geometric primitive
A point, a line, or a polygon.
GLSL
The short name for The OpenGL Shading Language.
GLX
The window system interface for OpenGL on the X Window System. Gouraud shading
Smooth interpolation of colors across a polygon or line segment. Colors are assigned at vertices and linearly interpolated across the primitive to produce a relatively smooth variation in color. Also called smooth shading.
group
Each pixel of an image in client memory is represented by a group of one, two, three, or four elements. Thus, in the context of a client memory image, a group and a pixel are the same thing.
half-spaces
A plane divides space into two half-spaces, hidden-line removal
A technique to determine which portions of a wireframe object should be visible. The lines that comprise the wireframe are considered to be edges of opaque surfaces, which may obscure other edges that are farther away from the viewer.
hidden-surface removal
A technique to determine which portions of an opaque, shaded object should be visible and which portions should be obscured. A test of the depth coordinate, using the depth buffer for storage, is a common method of hidden-surface removal.
histogram
A database of the distribution of pixel values in an image. The results of the histogram process are counts of unique pixel values.
homogeneous coordinates
A set of n+1 coordinates used to represent points in «-dimensional projective space. Points in projective space can be thought of as points in Euclidean space together with some points at infinity. The coordinates are homogeneous because a scaling of each of the coordinates by the same nonzero constant doesn’t alter the point that the coordinates refer to. Homogeneous coordinates are useful in the calculations of projective geometry, and thus in computer graphics, where scenes must be projected onto a window.
image
A rectangular array of pixels, either in client memory or in the framebuffer.
image primitive
A bitmap or an image.
immediate mode
Execution of OpenGL commands when they’re called, rather than from a display list. No immediate-mode bit exists; the mode in immediate mode refers to use of OpenGL, rather than to a specific bit of OpenGL state.
index
A single value that’s interpreted as an absolute value rather than as a normalized value in a specified range (as is a component). Color indices are the names of colors, which are dereferenced by the display hardware using the color map. Indices are typically masked, rather than clamped when out of range. For example, the index 0xf7 is masked to 0×7 when written to a 4-bit buffer (color or stencil). Color indices and stencil indices are always treated as indices, never as components.
indices
Preferred plural of index. (The choice between the plural forms indices or indexes—as well as matrices or matrixes and vertices or vertexes—has engendered much debate between the authors and principal reviewers of this guide. The authors’ compromise solution is to use the -ices form, but to state clearly for the record that the use of indice [sic], matrice [sic], and vertice [sic] for the singular forms is an abomination.)
infinite light source
A directional source of illumination. The radiating light from an infinite light source strikes all objects as parallel rays.
interleaved
A method of storing vertex arrays whereby heterogeneous types of data (i.e., vertex, normals, texture coordinates, etc.) are grouped together for faster retrieval.
interpolation
Calculation of values (such as color or depth) for interior pixels, given the values at the boundaries (such as at the vertices of a polygon or a line).
IRIS GL
Silicon Graphics’ proprietary graphics library, developed from 1982 through 1992. OpenGL was designed with IRIS GL as a starting point.
jaggies
Artifacts of aliased rendering. The edges of primitives that are rendered with aliasing are jagged, rather than smooth. A near-horizontal aliased line, for example, is rendered as a set of horizontal lines on adjacent pixel rows, rather than as a smooth, continuous line.
jittering
A pseudo-random displacement (shaking) of the objects in a scene, used in conjunction with the accumulation buffer to achieve special effects.
The process of creating multiple copies of an object or image with different levels of resolution. See also mipmap.
lighting
The process of computing the color of a vertex based on current lights, material properties, and lighting-model modes.
line
A straight region of finite width between two vertices. (Unlike mathematical lines, OpenGL lines have finite width and length.) Each segment of a strip of lines is itself a line.
local light source
A source of illumination that has an exact position. The radiating light from a local light source emanates from that position. Other names for a local light source are point light source or positional light source A spotlight is a special kind of local light source.
local viewer mode
An OpenGL light model mode that accurately computes the vector from a vertex to the eye. For performance reasons, local viewer mode is not enabled, and an approximation to the real vector is used for lighting computations.
logical operation
Boolean mathematical operations between the incoming fragment’s RGBA color or color-index values and the RGBA color or color-index values already stored at the corresponding location in the framebuffer. Examples of logical operations include AND, OR, XOR, NAND, and INVERT.
luminance
The perceived brightness of a surface. Often refers to a weighted average of red, green, and blue color values that indicates the perceived brightness of the combination.
material
A surface property used in computing the illumination of a surface, matrices Preferred plural of matrix. matrix
A two-dimensional array of values. OpenGL matrices are all 4×4, though when stored in client memory they’re treated as 1 χ 16 single-dimension arrays.
minmax
The process of computing the minimum and maximum pixel values in an image using the Imaging Subset.
mipmap
A reduced resolution version of a texture map, used to texture a geometric primitive whose screen resolution differs from the resolution of the source texture map.
modelview matrix
The 4×4 matrix that transforms points, lines, polygons, and raster positions from object coordinates to eye coordinates.
modulate
A method of calculating color values during texture application whereby the texture and the fragment colors are combined.
monitor
The device that displays the image in the framebuffer, motion blurring
A technique that uses the accumulation buffer to simulate what appears on film when you take a picture of a moving object or when you move the camera while taking a picture of a stationary object. In animations without motion blur, moving objects can appear jerky.
multitexturing
The process of applying several texture images to a single primitive. The images are applied one after another, in a pipeline of texturing operations.
network
A connection between two or more computers that enables each to transfer data to and from the others.
nonconvex
A polygon is nonconvex if a line exists in the plane of the polygon that intersects the polygon more than twice.
normal
A three-component plane equation that defines the angular orientation, but not position, of a plane or surface.
normalized
To normalize a normal vector, divide each of the components by the square root of the sum of their squares. Then, if the normal is thought of as a vector from the origin to the point (fix’, ny’, Hz’), this vector has unit length.
NURBS
Non-Uniform Rational B-Spline. A common way to specify parametric curves and surfaces.
object
An object-coordinate model that’s rendered as a collection of primitives, object coordinates
Coordinate system prior to any OpenGL transformation.
The OpenGL Shading Language
The language used for authoring shader program. Also commonly known as the GLSL.
orthographic
Nonperspective (or parallel) projection, as in some engineering drawings, with no foreshortening.
outer product
A process that produces a matrix from two vectors. For the matrix A, which is the outer product of the vectors u andpack
The process of converting pixel colors from a buffer into the format requested by the application.
parameters
Values passed as arguments to OpenGL commands. Sometimes parameters are passed by reference to an OpenGL command.
perspective correction
An additional calculation for texture coordinates to fix texturing artifacts for a textured geometric rendered in a perspective projection.
perspective division
The division of x, y, and z by w, carried out in clip coordinates, picking
A form of selection that uses a rectangular region (usually near the cursor location) to determine which primitives to select.
pixel
Picture element. The bits at location (x, y) of all the bitplanes in the framebuffer constitute the single pixel (x, y). In an image in client memory, a pixel is one group of elements. In OpenGL window coordinates, each pixel corresponds to a 1.0 χ 1.0 screen area. The coordinates of the lower left corner of the pixel are (x, y), and of the upper right corner are (x + 1, y + 1).
point
An exact location in space, which is rendered as a finite-diameter dot.
polygon
A near-planar surface bounded by edges specified by vertices. Each triangle of a triangle mesh is a polygon, as is each quadrilateral of a quadrilateral mesh. The rectangle specified by glRect*() is also a polygon.
polygon offset
A technique to modify depth-buffer values of a polygon when additional geometric primitives are drawn with identical geometric coordinates.
primitive
A point, a line, a polygon, a bitmap, or an image. (Note: Not just a point, a line, or a polygon!)
projection matrix
The 4×4 matrix that transforms points, lines, polygons, and raster positions from eye coordinates to clip coordinates.
proxy texture
A placeholder for a texture image, which is used to determine if there are enough resources to support a texture image of a given size and internal format resolution.
programmable graphics pipeline
The mode of operation where the processing of vertices, fragments, and their associated data (texture coordinates, for example) is under the control of shader programs specified by the programmer.
quadrilateral
A polygon with four edges, rasterization
Converts a projected point, line, or polygon, or the pixels of a bitmap or image, to fragments, each corresponding to a pixel in the framebuffer. Note that all primitives are rasterized, not just points, lines, and polygons.
rectangle
A quadrilateral whose alternate edges are parallel to each other in object coordinates. Polygons specified with glRect*() are always rectangles; other quadrilaterals might be rectangles.
rendering
Conversion of primitives specified in object coordinates to an image in the framebuffer. Rendering is the primary operation of OpenGL—it’s what OpenGL does.
resident texture
A texture image that is cached in special, high-performance texture memory. If an OpenGL implementation does not have special, high-performance texture memory, then all texture images are deemed resident textures.
RGBA
Red, Green, Blue, Alpha.
RGBA mode
An OpenGL context is in RGBA mode if its color buffers store red, green, blue, and alpha color components, rather than color indices.
scissoring
A fragment clipping test. Fragments outside of a rectangular scissor region are rejected.
selection
The process of determining which primitives intersect a 2D region or 3D volume defined by matrix transformations.