Glossary (OpenGL Programming) Part 2

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.

tmp8c0d-491_thumb

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 andtmp8c0d-492_thumbpack

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.

Next post:

Previous post: