Polygon rasterization
First Claim
1. A computer-based method for determining which pixels to render as part of a triangle in order to rasterize polygons, the method comprising the steps of:
- (1) generating, for the three edges of the triangle, three edge variables each of which indicates whether a first pixel falls inside or outside a triangle;
(2) generating three masks based upon the values of said edge variables, said masks are representative of a span of pixels, wherein said first pixel is the initial pixel in said span of pixels; and
(3) logically ANDing said three masks to produce a render-mask which represents which pixels within said span of pixels should be rendered.
3 Assignments
0 Petitions
Accused Products
Abstract
System and method for the rasterization of polygons. Each edge of the polygon (e.g., a triangle) is represented by a linear edge function which classifies each pixel within the plane of the polygon. In particular, pixels having a value greater than zero are on one side of an edge and less than zero on the opposite side of an edge. Each pixel within the plane of the polygon has associated with it a set of edge variables which represent the signed, horizontal distance between the pixel and the respective edges of the polygon. A pixel is rendered based on the value of a pixels edge variables which is generated with reference to the edge functions. The edge functions are applied to a linear span of pixels. Initially, the value of a set of edge variables for a given pixel within a triangle is determined by evaluating the three edge functions associated with that triangle. In order to determine which pixels to render, the present invention generates a W-bit render mask based upon the values of these edge variables. These values are applied to the span of pixels without the need to perform additional calculations for the remainder of the pixels within the span.
95 Citations
20 Claims
-
1. A computer-based method for determining which pixels to render as part of a triangle in order to rasterize polygons, the method comprising the steps of:
-
(1) generating, for the three edges of the triangle, three edge variables each of which indicates whether a first pixel falls inside or outside a triangle; (2) generating three masks based upon the values of said edge variables, said masks are representative of a span of pixels, wherein said first pixel is the initial pixel in said span of pixels; and (3) logically ANDing said three masks to produce a render-mask which represents which pixels within said span of pixels should be rendered. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-based system for determining which pixels to render as part of a triangle in order to rasterize polygons, the system comprising:
-
(a) an integer datapath having a plurality of registers and at least one adder/subtracter unit, wherein said integer datapath is configured to generate three edge variables each of which indicates whether a first pixel falls inside or outside a triangle; (b) a pixel mask generation unit, adapted to accept from said integer datapath said three edge variables, said pixel mask generation unit further adapted to generate a render mask that indicates which pixels within a span of pixels are to be rendered as part of the triangle; and (c) a rendering unit which takes said render mask from said pixel mask generation unit and issues commands to a memory system for each pixel to be rendered or not. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-based method for determining which pixels to render as part of a polygon in order to rasterize the polygon, the method comprising the steps of:
-
(1) generating, for the plurality of edges of the polygon, a plurality of edge variables each of which indicates whether a first pixel falls inside or outside the polygon; (2) generating a plurality of masks based upon the values of said edge variables, said masks are representative of a span of pixels, wherein said first pixel is the initial pixel in said span of pixels; and (3) logically ANDing said plurality of masks to produce a render-mask which represents which pixels within said span of pixels should be rendered. - View Dependent Claims (13, 14, 15)
-
-
16. A computer-based system for determining which pixels to render as part of a polygon in order to rasterize the polygon, the system comprising:
-
(a) an integer datapath having a plurality of registers and at least one adder/subtracter unit, wherein said integer datapath is configured to generate a plurality of edge variables each of which indicates whether a first pixel falls inside or outside the polygon; (b) a pixel mask generation unit, adapted to accept from said integer datapath said plurality of edge variables, said pixel mask generation unit further adapted to generate a render mask that indicates which pixels within a span of pixels are to be rendered as part of the polygon; and (c) a rendering unit which takes said render mask from said pixel mask generation unit and issues commands to a memory system for each pixel to be rendered or not. - View Dependent Claims (17, 18, 19, 20)
-
Specification