graphics pipeline

(redirected from Pixel pipeline)
Also found in: Wikipedia.

graphics pipeline

In 3D graphics rendering, the stages required to transform a three-dimensional image into a two-dimensional screen. The stages are responsible for processing information initially provided just as properties at the end points (vertices) or control points of the geometric primitives used to describe what is to be rendered. The typical primitives in 3D graphics are lines and triangles. The type of properties provided per vertex include x-y-z coordinates, RGB values, translucency, texture, reflectivity and other characteristics.

An Assembly Line
Graphics rendering is like a manufacturing assembly line with each stage adding something to the previous one. Within a graphics processor, all stages are working in parallel. Because of this pipeline architecture, today's graphics processing units (GPUs) perform billions of geometry calculations per second. They are increasingly designed with more memory and more stages, so that more data can be worked on at the same time.

The Goal
For gamers, photorealistic rendering at full speed is the goal, and human skin and facial expressions are the most difficult. Although there are always faster adapters on the market with more memory and advanced circuitry that render 3D action more realistically, thus far, no game has fooled anyone into believing a real person is on screen, except perhaps for a few seconds.


The Pipeline
These are the various stages in the typical pipeline of a modern graphics processing unit (GPU). (Illustration courtesy of NVIDIA Corporation.)






Bus interface/Front End
Interface to the system to send and receive data and commands.

Vertex Processing
Converts each vertex into a 2D screen position, and lighting may be applied to determine its color. A programmable vertex shader enables the application to perform custom transformations for effects such as warping or deformations of a shape.

Clipping
This removes the parts of the image that are not visible in the 2D screen view such as the backsides of objects or areas that the application or window system covers.

Primitive Assembly, Triangle Setup
Vertices are collected and converted into triangles. Information is generated that will allow later stages to accurately generate the attributes of every pixel associated with the triangle.

Rasterization
The triangles are filled with pixels known as "fragments," which may or may not wind up in the frame buffer if there is no change to that pixel or if it winds up being hidden.

Occlusion Culling
Removes pixels that are hidden (occluded) by other objects in the scene.

Parameter Interpolation
The values for each pixel that were rasterized are computed, based on color, fog, texture, etc.

Pixel Shader
This stage adds textures and final colors to the fragments. Also called a "fragment shader," a programmable pixel shader enables the application to combine a pixel's attributes, such as color, depth and position on screen, with textures in a user-defined way to generate custom shading effects.

Pixel Engines
Mathematically combine the final fragment color, its coverage and degree of transparency with the existing data stored at the associated 2D location in the frame buffer to produce the final color for the pixel to be stored at that location. Output is a depth (Z) value for the pixel.

Frame Buffer Controller
The frame buffer controller interfaces to the physical memory used to hold the actual pixel values displayed on screen. The frame buffer memory is also often used to store graphics commands, textures as well as other attributes associated with each pixel.
References in periodicals archive ?
com), is a thought leadership conference focused on the future of displays and the pixel pipeline to support them.
The image data are then transferred to a computerized image-digitizing system that consists of a Macintosh IIfx and an analog-to-digital converter board with a pixel pipeline and an image storage cache (frame grabber).
At the other end of the spectrum, MOBILITY RADEON X800 is a 12 pixel pipeline mobile gaming powerhouse designed for today's most visually intensive DirectX 9 games and applications.
Equipped with 16 pixel pipelines and six vertex engines, as well as a 256-bit memory interface and GGDR3 support, the Mobility Radeon X800 XT delivers virtual performance parity to ATI's award winning Radeon X800 XT PE desktop graphics processors.
The NVIDIA Quadro FX 500, is armed with a high-end architecture featuring the industry's only true 128-bit floating-point frame buffer, 12 bits of subpixel precision, parallelized vertex engines, the industry's first on-chip vertex cache, and up to eight fully programmable pixel pipelines allowing developers to simulate a virtually unlimited range of real-world properties like metal or skin and to modify them on the fly.
This breakthrough technology has the ability to process seven pixel operations in a single pass on each of four pixel pipelines, simultaneously.
With outstanding performance and stability, the FireGL V7100 features 256 MB of GDDR3 unified graphics memory, 16 pixel pipelines and 6 geometry engines and dual display support via two DVI outputs creating an immersive work environment.
With advanced image quality and performance enhancing technologies, the RADEON X600 products bring native 16 lane PCI Express, full DirectX 9 support, 128-bit memory interface and four extreme parallel 3D rendering pixel pipelines to Sony's PCs.
The fastest 3-D chip in the world, ATI's RADEON 9700 doubles the number of pixel pipelines to turbo charge data transmission.