Thursday, July 29, 2010

Computer Video and Graphics



Hidden Surface Removal
Hidden Surface Removal or visible surface determination entails displaying only those surfaces that are visible to a viewer because objects are a collection of surfaces or solids.

Interpolation
Interpolation is a mathematical way of regenerating missing or needed information. For example, an image needs to be scaled up by a factor of two, from 100 pixels to 200 pixels. The missing pixels are generated by interpolating between the two pixels that are on either side of the pixel that needs to be generated. After all of the 'missing' pixels have been interpolated, 200 pixels exist where only 100 existed before, and the image is twice as big as it used to be.

Lighting
There are many techniques for creating realistic graphical effects to simulate a real-life 3-D object on a 2-D display. One technique is lighting. Lighting creates a real-world environment by means of rendering the different grades of darkness and brightness of an object's appearance to make the object look solid.

Line Buffer
A line buffer is a memory buffer used to hold one line of video. If the horizontal resolution of the screen is 640 pixels and RGB is used as the color space, the line buffer would have to be 640 locations long by 3 bytes wide. This amounts to one location for each pixel and each color plane. Line buffers are typically used in filtering algorithms.

MIP Mapping
Multum in Parvum (Latin) means 'many in one'. A method of increasing the quality of a texture map by applying different-resolution texture maps for different objects in the same image, depending on their size and depth. If a texture-mapped polygon is smaller than the texture image itself, the texture map will be undersampled during rasterization. As a result, the texture mapping will be noisy and 'sparkly'. The purpose of MIP mapping is to remove this effect.

Occlusion
The effect of one object in 3-D space blocking another object from view.

Palletized Texture
Palletized Texture means compressed texture formats, such as 1-, 2-, 4-, and 8-bit instead of 24-bit; this allows more textures to be stored in less memory.

Perspective Correction
A particular way to do texture mapping; it is extremely important for creating a realistic image. It takes into account the effect of the Z value in a scene while mapping texels onto the surface of polygons. As a 3D object moves away from the viewer, the length and height of the object become compressed, making it appear shorter. Without perspective correction, objects will appear to shift and 'tear' in an unrealistic way. True perspective correction is that the rate of change per pixel of texture is proportional to the depth. Since it requires a division per pixel, perspective correction is very computing intensive.

Phong Shading
Phong shading is a sophisticated smooth shading method, originated by Phong Bui-tuong. The Phong shading algorithm is best known for its ability to render precise, realistic specula highlights. During rendering, Phong shading achieves excellent realism by calculating the amount of light on the object at tiny points across the entire surface instead of at the vertices of the polygons. Each pixel representing the image is given its own color based on the lighting model applied at that point. Phong shading requires much more computation for the hardware than Gouraud shading.

Projection
The process of reducing three dimensions to two dimensions for display is called Projection. It is the mapping of the visible part of a three dimensional object onto a two dimension screen.

Rasterization
Translating an image into pixels.

Rendering
The process of creating life-like images on a screen using mathematical models and formulas to add shading, color, and lamination to a 2D or 3D wireframe.

Rendering Engine
"Rendering Engine" generically applies to the part of the graphics engine that draws 3D primitives, usually triangles or other simple polygons. In most implementations, the rendering engine is responsible for interpolation of edges and "filling in" the triangle.

Scissors Clip
Test pixel coordinates against clip rectangles and reject them if outside.

Set-up Engine
A set-up engine allows drivers to pass polygons to the rendering engine in the form of raw vertex information, subpixel polygon addresses. Whereas, most common designs force the host CPU to pre-process polygons for the rendering engine in terms of delta values for edges, color, and texture. Thus, a set-up engine moves processing from the host CPU to the graphics chip, reducing bus bandwidth requirements by 30% for small, randomly placed triangles and by proportionately more for larger polygons.

SDRAM
Synchronous DRAM is a type of DRAM to which reads or writes can be performed synchronously with the memory clock and at much higher speeds than with Fast-Page or EDO DRAM.

SGRAM
Synchronous Graphics Random Access memory (SGRAM) is a type of memory that is optimized for graphics use. SGRAM is capable of running at much higher speeds than fast page or EDO DRAM. SGRAM is able to execute a small number of frequently executed operations, such as buffer clears, specific to graphics applications independently of the controller.

Span
In raster graphics architecture a primitive is formed by scan conversion where each scan line intersects the primitive at two ends, P left and P right. A contiguous sequence of pixels on the scan line between P left and P right is called a Span. Each pixel within the span contains the z, R, G, and B data values.

Tessellation
Processing 3D graphics can be pipelined into three-stages: tessellation, geometry, and rendering. Tessellation is the process of subdividing a surface into smaller shapes. To describe object surface patterns, tessellation breaks down the surface of an object into manageable polygons. Triangles or quadrilaterals are two usually used polygons in drawing graphical objects because computer hardware can easy manipulate and calculate these two simple polygons.


An object divided into quads and subdivided into triangles for convenient calculation.

Texture Anti-aliasing
An interpolation technique used to remove texture distortion, staircasing or jagged edges, at the edges of an object.

Texture Filtering
Removing the undesirable distortion of a raster image, also called aliasing artifacts, such as sparkles and blockiness, through interpolation of stored texture images.

Texture Mapping
Texture mapping is based on a stored bitmap consisting of texture pixels, or texels. It consists of wrapping a texture image onto an object to create a realistic representation of the object in 3D space. The object is represented by a set of polygons, usually triangles. The advantage is complexity reduction and rendering speed, because only one texel read is required for each pixel being written to the frame buffer. The disadvantage is the blocky image that results when the object moves.

Transformation
Change of coordinates; a series of mathematical operations that act on output primitives and geometric attributes to convert them from modeling coordinates to device coordinates.

Tri-linear Filtering
Based on bilinear filtering, trilinear filtering takes the weighted average of two levels of bilinear filtering results to create a single telex. The resultant graphics image is smoother and less flashy.

Tri-linear MIP Mapping
A method of reducing aliasing artifacts within texture maps by applying a bilinear filter to four texels from the two nearest MIP maps and then interpolating between the two.

Z-buffer
A part of off-screen memory that holds the distance from the viewpoint for each pixel, the Z-value. When objects are rendered into a 2D frame buffer, the rendering engine must remove hidden surfaces.

Z-buffering
A process of removing hidden surfaces using the depth value stored in the Z-buffer. Before bringing in a new frame, the rendering engine clears the buffer, setting all Z-values to 'infinity'. When rendering objects, the engine assigns a Z-value to each pixel: the closer the pixel to the viewer, the smaller the Z value. When a new pixel is rendered, its depth is compared with the stored depth in the Z-buffer. The new pixel is written into the frame buffer only if its depth value is less than the stored one.

Z-sorting
A process of removing hidden surfaces by sorting polygons in back-to-front order prior to rendering. Thus, when the polygons are rendered, the forward-most surfaces are rendered last. The rendering results are correct unless objects are close to or intersect each other. The advantage is not requiring memory for storing depth values. The disadvantage is the cost in more CPU cycles and limitations when objects penetrate each other.

No comments:

Post a Comment