The Glossary ------------ alpha blending: a way to combine the contributions from two different colored surfaces which fall in the same part of the screen. There are many ways to do this, and the technique is usually used to draw transparent surfaces. aliasing: artifacts such as jaggies or shimmering that appear in computer-generated images due to the shortcuts that are taken to accelerate the process of rendering a 3D image. antialiasing: various techniques that are used to prevent aliasing. These techniques attempt to render the image more precisely (more correctly), thus requiring more computation. anisotropic filtering: an effective antialiasing technique for texture mapping. There are many kinds of anisotropic filtering, but in general the technique accounts for the fact that a pixel may cover an oddly-shaped region in texture space. backface culling: "throwing out" triangles that face away from the viewer, since they will not be seen (assuming all of the objects are "solid"). bilinear filtering: an antialiasing technique used for texture mapping. It blends 4 adjacent texels to compute the color for each pixel. This technique is used together with mipmapping to prevent distant textures from shimmering. It also happens to make nearby textures appear blurry. See below for more on texturing. blending: mixing two or more color contributions together when shading a given pixel. The color contributions may come from textures, from a solidly-colored surface, or from lighting calculations. culling: removing stuff from further processing. depth cue: a name given to various rendering techniques to help enforce the impression that distant objects appear far away. These include darkening or blurring such objects. detail texture: applying a second texture image "on top of" a main texture image in order to give the appearance of roughness or other detail when you look very closely at a texture object. edge-antialiasing: applying antialiasing techniques to the edges of objects in order to avoid the "stair-step" appearance. fill rate: the speed at which a system can calculate and store the pixels resulting from the objects rendered in a 3D scene. Along with the polygon rate, this is a vague measure of a system's performance. flat shading: a polygon-shading technique that uses only a single color for the entire polygon. The color may or may not be adjusted by lighting calculations. fog: the simulation of actual fog. This requires blending the nearest object color with the fog color, based upon the object distance. This technique is often used to hide far away scenery to avoid rendering it. Correctly estimating fog requires nonlinear math. Gouraud shading: a polygon-shading technique where colors are calculated at polygon corners and then linearly interpolated across the polygon. The colors calculated at the polygon corners are typically adjusted by lighting calculations. interpolation: calculating values to fill in between some given values. For instance, if you know the color value at two different pixels (or texels), you can interpolate to find color values for places in between. linear interpolation: a weighted average. If a variable "a" has the value of a1 at point x1 and the value of a2 at point x2, then for any other point x, we can say that a = (x-x1)/(x2-x1)*a2+(x-x2)/(x1-x2)*a1. To put this into context, imagine that the x's are different locations in a 1D texture map and that the a's are the colors at those locations. mipmapping: a type of antialiasing technique for fast texturing. It involves producing several differently sized versions of a texture image, and choosing the correct one based upon the distance between the textured surface and the viewer. See below. perspective correction: drawing an image correctly to account for the way things appear to cluster together in the distance (perspective). Primarily this affects the way that textures are drawn. Linearly stretching a texture across a surface is wrong. Rather, you must take the Z depth of the surface into account, and this involves some nonlinear math (specifically, a division) when drawing each pixel. perspective divide: A division by Z is what is necessary to apply perspective correction. This actually enters into both the equations for computing the screen-space X/Y locations and for the correct rasterization of stuff. Phong shading: a polygon-shading technique where a lighting calculation is performed to compute the color for each pixel based upon other parameters that are linearly interpolated across the polygon. One of these other parameters is typically the "normal", or the direction in which the surface is facing. By choosing appropriate normal values at the polygon corners, you can very effectively make a flat surface appear smoothly rounded. polygon: a shape consisting of straight edges connecting multiple vertices (vertexes). Ideally, all the vertices lie in the same plane, and none of the edges cross each other. Also, we usually like to deal with "convex" polygons, where any point between any pair of vertices is guaranteed to be "inside" the polygon (as opposed to "concave" polygons). polygon rate: the rate at which a system can draw polygons. Because there are many different ways to draw polygons, it is often not practical to compare different manufacturer's numbers together. However, the figure can be used to get an approximate idea of a system's performance. rasterization: the process of taking a polygon (or other object) and drawing it as a set of pixels. RDRAM: RAMBUS DRAM uses an extremely high-speed communications protocol to talk to the memory controller; however, the internal memory structures are not much different than regular DRAM. The changes to the communications structures allows somewhat more efficient operation than regular DRAM. screen space: a set of coordinates dictated by the pixel locations on the screen, plus a Z (depth) into the screen. SDRAM: Memory wherein the basic operation cycle is well synchronized to the clock of the system bus. In addition, SDRAM contains two interleaved memory banks within the memory chip, allowing multiple lookups to be going on at the same time. setup: computing the information needed to rasterize a triangle that has already been transformed into screen space. sub-pixel correction: Correctly accounting for the fact that object coordinates are real numbers, whereas pixel locations are integral. Sub-pixel correction is necessary for smooth motion when an object move slowly across the screen (imagine an object moving 0.4 pixels during each time step); otherwise, objects would appear to "jump" from pixel to pixel. sub-texel correction: Basically, applying sub-pixel correction to texture coordinates and texture maps. This is a bit unclear, and I'm not even sure the industry agrees upon exactly what this means. texel: A single value from a texture map (a texture image pixel). texture mapping: "Applying" a texture image to the surface of a polygon. This is done by creating a texture image and assigning to each vertex of the polygon the corresponding location in the texture image (the U and V coordinates). texture modulation: Using the value from a texture map to modulate (change) some parameter of the polygon being rendered. For instance, you can look up an intensity from the texture map and use it to affect the brightness of the polygon's intrinsic color. transparency: the ability to assign different levels of transparency either to whole surfaces or parts of surfaces (using a texture map in the latter case). When a transparent surface is drawn, it is blended in with the background elements according to the transparency value. True transparency usually requires that surfaces be drawn in back-to-front order. Binary transparency is a simpler type of transparency (you can only specify completely transparent or completely opaque) that avoids the ordering requirement. trapezoid: a 4-sided shape with two parallel edges. For rasterization, we often view a triangle as two trapezoids (split by making a horizontal line across the "middle" vertex), except that the top edge of the top trapezoid is "really short" and so is the bottom edge of the bottom trapezoid [but some triangles only break up into one trapezoid, if they have a horizontal edge already]. triangle: the simplest polygon, having 3 vertices. All polygons can be broken up into a set of triangles. trilinear filtering: an antialiasing technique that applies bilinear filtering twice to two different mipmap levels and combines the result to produce the texel color to use for a given pixel. Z-buffering: a method of making sure that nearer objects are always drawn on top of farther objects. The depth (Z) value is stored for each pixel and compared each time before a new pixel is overwritten. zero-area culling: culling degenerate triangles (triangles whose vertices form just a line or point). ---------------------------------------------------------------------- (c) 1997 Carl Mueller