Computer graphics processing and selective visual display system – Computer graphics display memory system – For storing condition code – flag or status
Reexamination Certificate
2001-12-31
2004-05-18
Tung, Kee M. (Department: 2676)
Computer graphics processing and selective visual display system
Computer graphics display memory system
For storing condition code, flag or status
C345S582000
Reexamination Certificate
active
06738069
ABSTRACT:
BACKGROUND
1. Field
The present invention relates generally to graphics systems and more particularly to graphics-rendering systems.
2. Background Information
Computer graphics systems are commonly used for displaying graphical representations of objects on a two-dimensional video display screen. Current computer graphics systems provide highly detailed representations and are used in a variety of applications. In typical computer graphics systems, an object to be represented on the display screen is broken down into graphics primitives. Primitives are basic components of a graphics display and may include points, lines, vectors and polygons, such as triangles and quadrilaterals. Typically, a hardware/software scheme is implemented to render or draw the graphics primitives that represent a view of one or more objects being represented on the display screen.
The primitives of the three-dimensional objects to be rendered are defined by a host computer in terms of primitive data. For example, when the primitive is a triangle, the host computer may define the primitive in terms of X, Y and Z coordinates of its vertices, as well as the red, green and blue (R, G and B) color values of each vertex. Additional primitive data may be used in specific applications.
Image rendering is the conversion of a high-level object-based description into a graphical image for display on some display device. For example, an act of image rendering occurs during the conversion of a mathematical model of a three-dimensional object or scene into a bitmap image. Another example of image rendering is converting an HTML document into an image for display on a computer monitor. Typically, a hardware device referred to as a graphics-rendering engine performs these graphics processing tasks. Graphics-rendering engines typically render scenes into a buffer that is subsequently output to the graphical output device, but it is possible for some rendering-engines to write their two-dimensional output directly to the output device. The graphics-rendering engine interpolates the primitive data to compute the display screen pixels that represent the each primitive, and the R, G and B color values of each pixel.
A graphics-rendering system (or subsystem), as used herein, refers to all of the levels of processing between an application program and a graphical output device. A graphics engine can provide for one or more modes of rendering, including zone rendering. Zone rendering attempts to increase overall 3D rendering performance by gaining optimal render cache utilization, thereby reducing pixel color and depth memory read/write bottlenecks. In zone rendering, a screen is subdivided into an array of zones and per-zone instruction bins, used to hold all of the primitive and state setting instructions required to render each sub-image, are generated. Whenever a primitive intersects (or possibly intersects) a zone, that primitive instruction is placed in the bin for that zone. Some primitives will intersect more than one zone, in which case the primitive instruction is replicated in the corresponding bins. This process is continued until the entire scene is sorted into the bins. Following the first pass of building a bin for each zone intersected by a primitive, a second zone-by-zone rendering pass is performed. In particular, the bins for all the zones are rendered to generate the final image.
In order to implement a tile-rendering architecture like zone rendering, the maintenance of the correct graphics-rendering state variables within each image-space zone (i.e. bin) is very important, in that it is required to subsequently render (during the rendering phase) each bin's primitives with the graphics state that existed at the time the primitive was encountered during the binning phase.
One conventional method of associating primitives with their appropriate graphics state would be to separately maintain a copy of all encountered graphics states and associate each primitive with some tag (i.e. index) identifying the specific state to be later used for rendering the primitive. However, the complexity of maintaining a separate state table and the cost (in required memory footprint, latency and bandwidth) of loading complete state sets—possibly between each primitive—can be prohibitive in low-cost and bandwidth-constrained (e.g., integrated) graphics systems.
What is needed therefore is a method, apparatus and system for graphics state management for zone rendering that is less costly and more efficient.
REFERENCES:
patent: 6344852 (2002-02-01), Zhu et al.
patent: 6384833 (2002-05-01), Denneau et al.
patent: 6469704 (2002-10-01), Johnson
patent: 6557083 (2003-04-01), Sperber et al.
patent: 6567084 (2003-05-01), Mang et al.
patent: WO 01/75803 (2001-10-01), None
patent: WO 01/75804 (2001-10-01), None
patent: WO 01/84502 (2001-11-01), None
LandOfFree
Efficient graphics state management for zone rendering does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Efficient graphics state management for zone rendering, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Efficient graphics state management for zone rendering will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3197224