Glossary

Aliasing Technically, the loss of signal information in an image reproduced at some finite resolution. It is most often characterized by the appearance of sharp jagged edges along points, lines, or polygons due to the nature of having a limited number of fixed-sized pixels.

Alpha A fourth color value added to provide a degree of transparency to the color of an object. An alpha value of 0.0 means complete transparency; a value of 1.0 denotes no transparency (opaque).

Ambient light Light in a scene that doesn’t come from any specific point source or direction. Ambient light illuminates all surfaces evenly and on all sides.

Antialiasing A rendering method used to smooth lines and curves and polygon edges. This technique averages the color of pixels adjacent to the line. It has the visual effect of softening the transition from the pixels on the line to the pixels adjacent to the line, thereby providing a smoother appearance.

ARB Architecture Review Board. The committee body consisting of three-dimensional graphics hardware vendors, previously charged with maintaining the OpenGL specification. This function has since been assumed by the Khronos Group.

Aspect ratio The ratio of the width of a window to the height of the window. Specifically, the width of the window in pixels divided by the height of the window in pixels.

Associativity A sequence of operations is said to be associative if changing the order of the operations (but not the order of the arguments) does not affect the result. For example, addition is associative because a +(b + c) = (a + b)+ c.

Atomic operation A sequence of operations that must be indivisible for correct operation. Usually refers to a read–modify–write sequence on a single memory location.

Barrier A point in a computer program that serves as a marker across which operations may not be reordered. Between barriers, certain operations may be exchanged if their movement does not logically change the operation of the program.

Bézier curve A curve whose shape is defined by control points near the curve rather than by the precise set of points that define the curve itself.

Bitplane An array of bits mapped directly to screen pixels.

Branch prediction An optimization strategy used in processor design whereby the processor tries to guess (or predict) the outcome of some conditional code and start executing the more likely branch before it is certain that it is required. If it’s right, it gets ahead by a few instructions. If it’s wrong, it needs to throw away the work and start again with the other branch.

Buffer An area of memory used to store image information. This can be color, depth, or blending information. The red, green, blue, and alpha buffers are often collectively referred to as the color buffers.

Cartesian A coordinate system based on three directional axes placed at a 90° orientation to one another. These coordinates are labeled x, y, and z.

Clip coordinates The two-dimensional geometric coordinates that result from the model–view and projection transformation.

Clipping The elimination of a portion of a single primitive or group of primitives. The points that would be rendered outside the clipping region or volume are not drawn. The clipping volume is generally specified by the projection matrix. Clipped primitives are reconstructed such that the edges of the primitive do not lie outside the clipping region.

Commutative An operation is said to be commutative if changing the order of its operands does not change its result. For example, addition is commutative, whereas subtraction is not.

Compute shader A shader that executes a work item per invocation as part of a local work group, a number of which may be grouped together into a global work group.

Concave A reference to the shape of a polygon. A polygon is said to be concave if a straight line can be drawn through it that will enter and subsequently exit the polygon more than once.

Contention The condition in which two or more threads of execution attempt to use a single shared resource.

Convex A reference to the shape of a polygon. A convex polygon has no indentations, and no straight line can be drawn through the polygon that intersects it more than twice (once entering, once leaving).

Culling The elimination of graphics primitives that would not be seen if rendered. Back-face culling eliminates the front or back face of a primitive so that the face isn’t drawn. Frustum culling eliminates whole objects that would fall outside the viewing frustum.

Destination color The stored color at a particular location in the color buffer. This terminology is used when describing blending operations to distinguish between the color already present in the color buffer and the color coming into the color buffer (source color).

Dispatch A command that begins the execution of compute shaders.

Dithering A method used to simulate a wider range of color depth by placing different-colored pixels together in patterns that give the illusion of shading between the two colors.

Double buffering A drawing technique used by OpenGL. The image to be displayed is assembled in memory and then placed on the screen in a single update operation, rather than being built primitive by primitive on the screen. Double buffering is a much faster and smoother update operation and can produce animations.

Extrusion The process of taking a two-dimensional image or shape and adding a third dimension uniformly across the surface. This process can transform two-dimensional fonts into three-dimensional lettering.

Eye coordinates The coordinate system based on the position of the viewer. The viewer’s position is placed along the positive z axis, looking down the negative z axis.

FMA Fused multiply add; an operation commonly implemented in a single piece of hardware multiplies two numbers together and adds a third, with the intermediate result generally being computed at higher precision than a stand-alone multiplication or addition operation.

Fragment A single piece of data that may eventually contribute to the color of a pixel in an image.

Fragment shader A shader that executes once per fragment and generally computes the final color of that fragment.

Frustum A pyramid-shaped viewing volume that creates a perspective view. (Near objects are large; far objects are small.)

Garbage Uninitialized data that is read and consumed by a computer program, often resulting in corruption, crashes, or other undesired behavior.

Geometry shader A shader that executes once per primitive, having access to all vertices making up that primitive.

Gimbal lock A state where a sequence of rotations essentially becomes stuck on a single axis. This occurs when one of the rotations early in the sequence rotates from one Cartesian axis onto another. After this, rotation around either of the axes results in the same rotation, making it impossible to escape from the locked position.

GLSL OpenGL Shading Language; a high-level C-like shading language.

GPU Graphics processing unit; a specialized processor that does most of the heavy lifting for OpenGL.

Hazard In reference to memory operations, a situation in which an undefined order of transactions in memory may lead to undefined or undesired results. Typical examples include read-after-write (RAW) hazards, write-after-write (WAW) hazards, and write-after-read (WAR) hazards.

Implementation A software- or hardware-based device that performs OpenGL rendering operations.

Invocation A single execution of a shader. Most commonly used to describe compute shaders, but applicable to any shader stage.

Khronos Group The industry consortium that manages the maintenance and promotion of the OpenGL specification.

Literal A value, not a variable name. A specific string or numeric constant embedded directly in source code.

Matrix A two-dimensional array of numbers. Matrices can be operated on mathematically and are used to perform coordinate transformations.

Mipmapping A technique that uses multiple levels of detail for a texture. This technique selects from among the different sizes of an image available, or possibly combines the two nearest-sized matches to produce the final fragments used for texturing.

Model–view matrix The OpenGL matrix that transforms position vectors from model (or object) space to view (or eye) space.

Normal A directional vector that points perpendicularly to a plane or surface. When used, normals must be specified for each vertex in a primitive.

Normalize The reduction of a normal to a unit normal. A unit normal is a vector that has a length of exactly 1.0.

Occlusion query A graphics operation whereby hidden (or, more accurately, visible) pixels are counted and the count returned to the application.

Orthographic A drawing mode in which no perspective or foreshortening takes place; also called parallel projection. The lengths and dimensions of all primitives are undistorted regardless of orientation or distance from the viewer.

Out-of-order execution The ability of a processor to determine inter-instruction dependencies and start executing those instructions whose inputs are ready before other instructions that may have preceded them in program order.

Overloading In computer languages, the practice of creating two or more functions that share the same name but differ in their function signatures.

Perspective A drawing mode in which objects farther from the viewer appear smaller than nearby objects.

Pixel Condensed from the words “picture element”; the smallest visual division available on the computer screen. Pixels are arranged in rows and columns and are individually set to the appropriate color to render any given image.

Pixmap A two-dimensional array of color values that make up a color image. Pixmaps are so called because each picture element corresponds to a pixel on the screen.

Polygon A two-dimensional shape drawn with any number of sides (must be at least three sides).

Primitive A group of one or more vertices formed by OpenGL into a geometric shape such as a line, point, or triangle. All objects and scenes are composed of various combinations of primitives.

Projection The transformation of lines, points, and polygons from eye coordinates to clipping coordinates on the screen.

Quadrilateral A polygon with exactly four sides.

Race condition A state encountered when multiple parallel processes such as threads in a program or invocations of a shader attempt to communicate or otherwise depend on each other in some way, but where no assurance of ordering is performed.

Rasterization The process of converting projected primitives and bitmaps into pixel fragments in the framebuffer.

Render The conversion of primitives in object coordinates to an image in the framebuffer. The rendering pipeline is the process by which OpenGL commands and statements become pixels on the screen.

Scintillation A sparkling or flashing effect produced on objects when a non-mipmapped texture map is applied to a polygon that is significantly smaller than the size of the texture being applied.

Scissor A fragment ownership test that rejects fragments that lie outside a window-aligned rectangle.

Shader A small program that is executed by the graphics hardware, often in parallel, to operate on individual vertices or pixels.

Source color The color of the incoming fragment, as opposed to the color already present in the color buffer (destination color). This terminology is used when describing how the source and destination colors are combined during a blending operation.

Specification The design document that specifies OpenGL operation and fully describes how an implementation must work.

Spline A general term used to describe any curve created by placing control points near the curve, which have a pulling effect on the curve’s shape. This is similar to the reaction of a piece of flexible material when pressure is applied at various points along its length.

Stipple A binary bit pattern used to mask out pixel generation in the framebuffer. This is similar to a monochrome bitmap, but one-dimensional patterns are used for lines and two-dimensional patterns are used for polygons.

Super scalar A processor architecture that is capable of executing two or more independent instructions at the same time on multiple processor pipelines, which may or may not have the same capabilities.

Tessellation The process of breaking down a complex polygon or analytic surface into a mesh of convex polygons. This process can also be applied to separate a complex curve into a series of less complex lines.

Tessellation control shader A shader that runs before fixed-function tessellation occurs. It executes once per control point in a patch primitive and produces tessellation factors and a new set of control points as an output primitive.

Tessellation evaluation shader A shader that runs after fixed-function tessellation occurs. It executes once per vertex generated by the tessellator.

Tessellation shader Either a tessellation control shader or a tessellation evaluation shader.

Texel A texture element. A texel represents a color from a texture that is applied to a pixel fragment in the framebuffer.

Texture An image pattern of colors applied to the surface of a primitive.

Texture mapping The process of applying a texture image to a surface. The surface does not have to be planar (flat). Texture mapping is often used to wrap an image around a curved object or to produce patterned surfaces such as wood or marble.

Token A constant value used by OpenGL to represent parameters. Examples are GL_RGBA and GL_COMPILE_STATUS.

Transformation The manipulation of a coordinate system. This can include rotation, translation, scaling (both uniform and non-uniform), and perspective division.

Translucence The degree of transparency of an object. In OpenGL, this is represented by an alpha value ranging from 1.0 (opaque) to 0.0 (transparent).

Vector A directional quantity usually represented by x, y, and z components.

Vertex A single point in space. Except when used for point and line primitives, it also defines the point at which two edges of a polygon meet.

Vertex shader A shader that executes once per incoming vertex.

Viewing volume The area in three-dimensional space that can be viewed in the window. Objects and points outside the viewing volume are clipped (cannot be seen).

Viewport The area within a window that is used to display an OpenGL image. Usually, this encompasses the entire client area. Stretched viewports can produce enlarged or shrunken output within the physical window.

Wireframe The representation of a solid object by a mesh of lines rather than solid shaded polygons. Wireframe models are usually rendered faster and can be used to view both the front and the back of an object at the same time.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset