Antialiasing of silhouette edges
First Claim
1. A method of antialiasing a silhouette edge, the silhouette edge representing an edge of a polygon which is coincident with an edge of a surface on which the polygon is located, the method comprising the steps of:
- (1) retrieving a color value for a silhouette edge pixel which falls on the silhouette edge from a frame buffer, the retrieved color value representing a color of one or more foreground polygons which fall within the silhouette edge pixel;
(2) estimating a background color of the silhouette edge pixel based on colors of neighboring pixels that are proximate to the silhouette edge pixel, the estimated background color representing a color of a portion of the silhouette edge pixel which is not occupied by the one or more foreground polygons; and
(3) determining an output color of the silhouette edge pixel by interpolating between the retrieved color and the estimated background color.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for antialiasing silhouette edges are described herein. A video interface accesses the frame buffer to retrieve a foreground color of an edge pixel that falls on the silhouette edge. The video interface estimates a background color of the edge pixel based on foreground colors of neighboring pixels that are proximate to the edge pixel. Then, the video interface interpolates between the foreground color and the estimated background color to determine an output color of the edge pixel. Also described herein are a system and method of internal edge antialiasing.
72 Citations
21 Claims
-
1. A method of antialiasing a silhouette edge, the silhouette edge representing an edge of a polygon which is coincident with an edge of a surface on which the polygon is located, the method comprising the steps of:
-
(1) retrieving a color value for a silhouette edge pixel which falls on the silhouette edge from a frame buffer, the retrieved color value representing a color of one or more foreground polygons which fall within the silhouette edge pixel; (2) estimating a background color of the silhouette edge pixel based on colors of neighboring pixels that are proximate to the silhouette edge pixel, the estimated background color representing a color of a portion of the silhouette edge pixel which is not occupied by the one or more foreground polygons; and (3) determining an output color of the silhouette edge pixel by interpolating between the retrieved color and the estimated background color. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of antialiasing an internal edge and a silhouette edge, the internal edge representing coincident edges of same-surface polygons which edges are not coincident with an edge of the same-surface, the silhouette edge representing an edge of a polygon which is coincident with an edge of a surface on which the polygon is located, the method comprising the steps of:
-
(1) determining if a portion of a new polygon which falls within a pixel is in a same surface with a portion of an existing polygon which falls within the pixel and for which information is stored in a frame buffer entry associated with the pixel; and (2) if the portion of the new polygon and the portion of the existing polygon are in the same surface, then antialiasing the pixel as an internal edge pixel; wherein step (2) comprises the steps of; (a) retrieving a coverage value from the frame buffer entry, the retrieved coverage value representing an area of the internal edge pixel which is occupied by the portion of the existing polygon which falls within the internal edge pixel; (b) generating a new coverage value by summing the retrieved coverage value with a coverage value of the new polygon representing an area of the internal edge pixel which is occupied by the portion of the new polygon which falls within the internal edge pixel; (c) storing the new coverage value in the frame buffer entry; (d) generating a new color value by averaging a color value of the portion of the new polygon and a color value of the portion of the existing polygon proportional to their respective coverage values; and (d) storing the new color value in the frame buffer entry. - View Dependent Claims (9, 10, 11)
-
-
12. A system for antialiasing a silhouette edge, the silhouette edge including an edge of a polygon which is coincident with an edge of a surface on which the polygon is located, comprising:
-
a frame buffer for storing pixel color information; and a video interface for antialiasing silhouette edge pixel data stored in said frame buffer, comprising; frame buffer accessing means for accessing said frame buffer to retrieve a color of a silhouette edge pixel; background color estimating means for estimating a background color of the silhouette edge pixel based on colors of neighboring pixels that are proximate to the silhouette edge pixel; and means for generating an output color for the silhouette edge pixel based on the retrieved color and the estimated background color, comprising means for interpolating between the retrieved color and the estimated background color. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for antialiasing an internal edge and a silhouette edge, the internal edge representing coincident edges of same-surface polygons which edges are not coincident with an edge of the same-surface, the silhouette edge representing an edge of a polygon which is coincident with an edge of a surface on which the polygon is located, comprising:
a blend unit for antialiasing an internal edge, comprising; same surface determining means for determining if a new polygon being rendered and an existing polygon stored in said frame buffer are in a same surface; and internal edge antialiasing means for antialiasing an internal edge pixel comprising; means for generating a new coverage value for the internal edge pixel comprising means for summing a coverage value of the new polygon for the internal edge pixel and a coverage value of the existing polygon for the internal edge pixel as stored in a frame buffer entry of the frame buffer; means for storing the new internal edge pixel coverage value in the frame buffer entry; means for generating a new internal edge pixel color value by averaging a color value of a portion of the new polygon which falls within the internal edge pixel and a color value of a portion of the existing polygon which falls within the internal edge pixel proportional to respective coverage values of the new polygon and the existing polygon; and means for storing the new internal edge pixel color value in said frame buffer entry; and a frame buffer for receiving pixel information from said blend unit. - View Dependent Claims (19, 20, 21)
Specification