Error correction in a graphics processor

Computer graphics processing and selective visual display system – Computer graphics processing – Shape generating

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06252606

ABSTRACT:

CROSS-REFERENCE TO RELATED APPLICATIONS
Not applicable.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
REFERENCE TO MICROFICHE APPENDIX
This patent document includes a Microfiche appendix consisting of 1 microfiche with 61 frames.
COPYRIGHT AUTHORIZATION
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyrights whatsoever.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to computer systems and particularly to graphics processors. More particularly, the present invention relates to a graphics processor adapted to remove interpolation errors from parameters defining a polygon and render the polygon on a computer display.
2. Background of the Invention
Recent advances in graphics processing technology have allowed computer display devices to deliver higher resolution, greater rendering precision, and faster processing speed. Such advances have enabled computers to better perform the complex instructions demanded by graphics-intensive software applications offering movie playback, interactive video, multimedia, games, drawing or drafting capabilities, and other video-intensive tasks. One important feature of these applications is the capability to quickly and accurately render complex graphic objects on-screen, at the same time incorporating visual effects (also known as “pixel characteristics”) such as shading, specular lighting, three-dimensional (3D) perception, texture-mapping, fog or haze effects, alpha blending, depth, and other effects. Such visual effects make the graphics seem more realistic and improve the overall quality of the images.
Shading consists of varying an image color along the span of the image, while the lighting effect is accomplished by multiplying the color intensities of an image by a constant value. Other techniques exist to create 3D effects such as depth and texture-mapping by translating two-dimensional (2D) patterns and shapes so that images appear to have a depth component, even though the images are tendered on a 2D screen. Fog and alpha blending change the appearance of an image in subtler ways. Fog creates the illusion of a mist, or haze throughout the object and may be used in conjunction with other 3D effects to render images that appear to be at far distances. Alpha blending may be used to mesh together, or blend, screen images.
Computer systems typically incorporate raster display systems for viewing graphics, consisting of a rectangular grid of pixels aligned into columns and rows. Typical displays may incorporate screens with 640×480 pixels, 800×600 pixels, 1024×768 pixels, 1280×1024 pixels, or even more pixels. The display device is usually a cathode ray tube (CRT) capable of selectively lighting the pixels in a sweeping motion, moving across each consecutive pixel row “scan line”), from left to right, top to bottom. Accordingly, an entire screen of pixel values is known as a “video frame,” and the display device usually contains a frame buffer consisting of Dynamic Random Access Memory (DRAM or Video Random Access Memory (VRAM) which holds the pixel intensity values for one or more video frames. The frame buffer, updated regularly by the computer or graphics processor, is read by the display device periodically in order to excite the pixels. Frame buffers in color displays typically hold 24-bit values (3 bytes) for each pixel, each byte holding the pixel intensity value for one of the three primary colors, red, green, or blue. Accordingly, the three primary colors are combined to produce a wide spectrum of colors. Liquid crystal display (LCD) systems operate in a similar fashion as do CRT devices.
The pixel intensity values usually are computed and placed into the frame buffer by a graphics processor that is controlled by a software application known as a display driver. The display driver typically handles all of the graphics routines for the software applications running on the host computer by sending parameters to the graphics processor which describe the geometries of the graphics. One common technique for rendering screen images is to partition the images into simple constituent polygons such as triangles or quadrangles and to then render the constituent polygons on the display. Such a technique has two distinct advantages. First, since even very large polygons can be defined in terms of relatively few parameters, the software driver may send only the necessary polygon parameters, as opposed to transmitting a distinct intensity value for each pixel to the graphics processor. By sending a minimum of data per pixel, the software driver has more time in which to transmit increasingly detailed information to the processor about the polygon, including the parameters to describe the visual effects listed above. In one method of defining a polygon via parameters, the software driver uses the polygon vertex coordinates to calculate through interpolation (or “interpolate”) the widths of the polygon along each scan line as well as the slopes of the edges between the vertices. A relatively small number of parameters which completely define the polygon may then be transmitted to the graphics processor to define the polygon for rendering.
Second, graphics processors have been developed which are highly successful at implementing elementary polygon-rendering routines. A typical polygon-rendering algorithm uses an initial polygon coordinate along with the polygon height and width and the slopes of the polygon edges to incrementally render the polygon. Beginning at the initial coordinate, the graphics processor enters into the frame buffer a horizontal line of pixels spanning the width of the polygon on the initial pixel row. Using the initial coordinate along with the polygon height and edge slopes, the graphics processor can compute the polygon coordinates along one vertical or slanted edge, called the “main slope,” of the polygon. For each consecutive scan line, the graphics processor then uses the width values of the polygon to draw each horizontal row of polygon pixels into the frame buffer. Such an algorithm is known as the Incremental Line-Drawing algorithm, or Digital Differential Analyzer (DDA).
An incremental algorithm for rendering pixels at discrete positions on a pixel grid generally begins at a starting point and proceeds for some number of iterations, calculating the location of a single pixel during each iteration. The location of the current pixel in the scan line during any iteration is calculated by adding an increment, or delta, to the previous coordinate. The number of iterations needed for one scan line is the number of points in that scan line, or the distance to be spanned. Using such an algorithm, a graphics processor can draw polygons that are random triangles of any orientation or quadrangles with at least one flat top or bottom. Setting aside trivial triangles and colinear triangles, which are either points or lines, any random triangle or quadrangle can be partitioned into upper and lower triangles with a common horizontal side. The common horizontal side intersects the center, or opposite, vertex of the random triangle or quadrangle. The edge of the triangle or quadrangle opposite this center vertex, or the main slope, always spans the entire height of the triangle or quadrangle. The random quadrangle or triangle may be constructed by invoking an Incremental Line-Drawing algorithm twice-first to draw the upper polygon and again to draw the lower polygon.
Referring now to
FIG. 1
, triangles
100
,
120
,
140
, and
160
represent the four general orientations of a random triangle. Triangle
100
may be partitioned into two constituent triangles
102
and
104
having common horizontal side
106
and opposite vertex
108
. Main slope
110

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Error correction in a graphics processor does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Error correction in a graphics processor, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Error correction in a graphics processor will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2500280

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.