Claims
- 1. A method for providing antialiasing of a graphical image on a display from data describing at least one object, the display including a plurality of pixels, the method comprising the steps of:
(a) providing a plurality of fragments intersecting for the at least one object, a portion of the plurality of fragments intersecting a pixel of the plurality of pixels, each of the plurality of fragments including a depth value, a slope of the depth value, and an indication of a portion of a corresponding pixel that is intersected; (b) calculating a plurality of subpixel depth values for a fragment of the plurality of fragments, the plurality of subpixel depth values calculated using the depth value and the slope of the depth value of the fragment; (c) determining whether to store a portion of the fragment based on the plurality of subpixel depth values and the indication of the extent the corresponding pixel is intersected for the fragment; (d) storing the portion of the fragment if it has been determined in step (c) that the portion of the fragment is to be stored; (e) repeating steps (b) through (d) for each remaining fragment in the portion of the plurality of fragments; and (f) providing antialiased data for the pixel based on a second portion of the plurality of fragments that have been stored.
- 2. The method of claim 1 wherein the method further includes the steps of:
(g) repeating steps (b) through (f) for each remaining pixel of the plurality of pixels.
- 3. The method of claim 1 wherein each of the plurality of pixels can be divided into a plurality of subpixels, wherein the indication of the extent the corresponding pixel is intersected includes a coverage mask, the coverage mask indicating a first portion of the plurality of subpixels which the fragment intersects and wherein the determining step (c) further includes the steps of:
(c1) determining a second portion of the plurality of subpixels in a portion of the plurality of subpixel depth values is less than a portion of a plurality of stored subpixel depth values, the second portion of the plurality of subpixels being within the first portion of the plurality of subpixels; and wherein the storing step (d) includes the step of (d1) storing the portion of the fragment for the second portion of the plurality of subpixels.
- 4. The method of claim 3 wherein the determining step (c1) further includes the step of:
(c1i) comparing the plurality of subpixel depth values to the plurality of stored subpixel depth values to determine a third portion of the plurality of subpixels in which a corresponding subpixel depth value of the plurality of subpixel depth values is less than a corresponding stored subpixel depth value of the plurality of stored subpixel depth values; (c1ii) providing a second mask for the fragment, the second mask indicating the third portion of the plurality subpixels; and (c1iii) using the coverage mask and the second mask for the fragment to determine the second portion of the plurality of subpixels.
- 5. The method of claim 4 wherein the determining step (c1ii) further includes the step of:
(c1iia) performing an AND operation for the coverage mask and the second mask.
- 6. The method of claim 3 wherein the antialiased data providing step (f) further includes the step of:
(f1) averaging information stored relating to the portion of the plurality of fragments that intersect the pixel.
- 7. The method of claim 3 wherein the antialiased data providing step (f) further includes the steps of:
(f1) averaging currently stored information, other than the depth value, relating to the portion of the plurality of fragments that intersect the pixel; and (f2) selecting a currently stored median subpixel depth value as the depth value for the pixel.
- 8. A system for providing antialiasing of a graphical image from data describing at least one object including a plurality of fragments, each fragment including a coverage mask, a depth value, and a slope of the depth value, the system comprising:
a display including a plurality of pixels; means coupled to the display for providing a plurality of fragments for the at least one object, the plurality of fragments intersecting the plurality of pixels, each of the plurality of fragments including a depth value, a slope of the depth value, and an indication of a portion of a corresponding pixel that is intersected; an antialiasing unit, coupled with the display, for providing antialiasing of each of the plurality of fragments based on the depth value, the slope of the depth value, and the indication of the extent a corresponding pixel is intersected.
- 9. The system of claim 8 wherein the plurality of fragments are rendered in raster order.
- 10. The system of claim 8 wherein each pixel includes a plurality of subpixels, wherein the indication of an extent a corresponding pixel is intersected includes a coverage mask, the coverage mask indicating a first portion of the plurality of subpixels of the corresponding pixel which are intersected, and wherein the antialiasing unit further includes:
means for calculating a plurality of subpixel depth values for the plurality of fragments and for determining whether to store a portion of each of the plurality of fragments based on the plurality of subpixel depth values and the coverage mask for each of the plurality of fragments, the plurality of subpixel depth values calculated using the depth value and the slope of the depth value for each of the plurality of fragments; a plurality of subpixel buffers, coupled with the calculating and determining means; and means coupled with the plurality of subpixel buffers for providing an antialiased data for the plurality of fragments based on a second portion of the plurality of fragments that have been stored.
- 11. The system of claim 10 wherein the coverage mask indicates a first portion of the plurality of subpixels that each of the plurality of fragments intersects and wherein the calculating and determining means further includes:
means for determining a second portion of the plurality of subpixels in which a portion of the plurality of subpixel depth values is less than a portion of a plurality of stored depth values, the second portion of the plurality of subpixels being within the first portion of the plurality of subpixels; and wherein the plurality of subpixel buffers store the portion of the fragment corresponding to the second portion of the plurality of subpixels.
- 12. The system of claim 11 wherein the calculating and determining means further includes:
means for providing a second mask for the fragment, the second mask indicating a third portion of the plurality subpixels in which the portion of the plurality of subpixel depth values are less than the portion of the plurality of stored subpixel depth values; and means for using the coverage mask and the second mask for the fragment to determine the second portion of the plurality of subpixels.
- 13. The system of claim 12 wherein the mask using means further includes:
means for performing an AND operation for the coverage mask and the second mask.
- 14. The system of claim 13 wherein the antialiased pixel providing means further average information stored relating to the portion of the plurality of fragments that intersect the pixel.
- 15. The system of claim 14 wherein the antialiased pixel providing means further average currently stored information, other than the depth value, relating to the portion of the plurality of fragments that intersect the pixel select a currently stored subpixel depth value as the depth value for the pixel.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related co-pending U.S. patent application Ser. No. ______, entitled “METHOD AND SYSTEM FOR PROVIDING EDGE ANTLkLIASING” (945P) filed on ______ and assigned to the assignee of the present application. The present invention is also related to co-pending U.S. Patent Application Serial No., entitled “METHOD AND SYSTEM FOR PROVIDING EDGE ANTIALIASING USING A SINGLE BLENDING UNIT” (1198P) filed on and assigned to the assignee of the present application. The present invention is related co-pending U.S. patent application Ser. No. 08/624,261, entitled “METHOD AND APPARATUS FOR IDENTIFYING AN ELIMINATING THREE-DIMENSIONAL OBJECTS VISUALLY OBSTRUCTED FORM A PLANAR SURFACE” filed on Mar. 29, 1996 and assigned to the assignee of the present application. The present invention is also related to co-pending U.S. patent application Ser. No. 08/624,260, entitled “GRAPHICS PROCESSORS, SYSTEM AND METHOD FOR GENERATING SCREEN PIXELS IN RASTER ORDER UTILIZING A SINGLE INTERPOLATOR” filed on Mar. 29, 1996 and assigned to the assignee of the present application.
Continuations (3)
|
Number |
Date |
Country |
| Parent |
10267356 |
Oct 2002 |
US |
| Child |
10850005 |
May 2004 |
US |
| Parent |
09589673 |
Jun 2000 |
US |
| Child |
10267356 |
Oct 2002 |
US |
| Parent |
09296999 |
Apr 1999 |
US |
| Child |
09589673 |
Jun 2000 |
US |