Browse Prior Art Database

METHOD AND APPARATUS FOR INCREASING PIXEL WRITE PERFORMANCE OF A GRAPHICS RENDERER BY EARLY DEPTH TESTING

IP.com Disclosure Number: IPCOM000008443D
Publication Date: 2002-Jun-13

Publishing Venue

The IP.com Prior Art Database

Abstract

The present invention relates generally to computer graphics and more particularly to a system and method for increasing pixel write performance in a graphics renderer by early depth testing.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 10% of the total text.

METHOD AND APPARATUS FOR INCREASING PIXEL WRITE PERFORMANCE OF A GRAPHICS RENDERER BY EARLY DEPTH TESTING

DESCRIPTION

Field of the Invention

The present invention relates generally to computer graphics and more particularly to a system and method for increasing pixel write performance in a graphics renderer by early depth testing.

Background of the Invention

Rasterization, visible surface determination, and shading are three back end processes carried out by a typical graphics renderer.  These processes operate on one polygon at a time and more specifically, calculate the polygon=s contribution to each pixel.  In a typical graphics processor, the order in which these processes are performed is fixed at each stage in a graphics pipeline.  That is, a graphics processor will rasterize the polygon, texture, shade, fog, then depth test each pixel of a polygon to determine the surface visibility.  For example, the pixels, onto which a polygon projects, are identified during the rasterization stage.  Then an appropriate texturing and shading intensity for the pixel is generated.  Next, a visibility test is performed and the value of the pixel is stored in a frame buffer, if a visibility condition is met.

Although many visibility tests, more generally known as hidden surface algorithms, have been developed, the full screen Z-buffer (depth buffer) algorithm has become a de facto standard in computer graphics.  Modern graphics terminals, thus, tend to have a dedicated Z-buffer memory.  In a typical depth buffer algorithm, each pixel is associated with a two-dimensional screen coordinate (x,y) together with a depth value.  The depth value is typically interpolated from the vertex eye space depth after or at the time shading values are interpolated and rasterization is performed.  The depth buffer is initialized to the depth of the far clipping plane or the background pixels.  For each pixel, its interpolated depth is compared with the depth already stored in the depth buffer (x,y).  If this value is less than the stored value, then the pixel is nearer the viewer than previously encountered pixels.  Thus, in such a case, the current shading value is written to the screen memory, typically a frame buffer, and the current depth placed in the depth buffer.

Figure 1 is a block diagram showing a typical order of processing performed by a graphics processor in the prior art.  Generally, the overall rendering process includes a process 102 of performing geometric transformations into screen space for a polygon, then performing the processes of texture mapping 104, shading and fog 106, and depth testing 108 for each pixel which lies inside the polygon.  Figure 2 is a block diagram illustrating a typical hardware implementation of a prior art graphics renderer 200.  Generally, a geometry subsystem (not shown) typically transforms and clips graphical data to screen coordinates.  Then the polygon fill processor 202 tests a polygon to determine which pixels lie on the polygon.  The t...