Patent ID: 7567258

Claim:
A method implemented by a graphics processing unit that executes rasterizer software, said method for rasterizing a graphics primitive for a framebuffer comprising at least two scanlines, said method comprising: dividing by the graphics processing unit said graphics primitive into at least one scanline-aligned region where each scanline-aligned region is a scanline-aligned triangle or a scanline-aligned trapezoid, wherein a scanline-aligned triangle includes a first edge parallel to a scanline and a scanline-aligned trapezoid includes a first edge and a second edge parallel to a scanline; sub-dividing by the graphics processing unit each scanline-aligned region into at least one second region each comprising at least one scanline-boundaried trapezoidal region, where each scanline-boundaried trapezoidal region comprises a trapezoidal region where a first edge of said trapezoidal region falls on a first boundary between two scanlines and where a second edge of said trapezoidal region falls on a second boundary between two scanlines by: for each scanline-aligned line, when the scanline-aligned line is not a scanline boundary line, adding a first scanline boundary line immediately above the scanline-aligned line and a second scanline boundary line immediately below the scanline-aligned line to further divide the graphics primitive; for each first vertex that is a local maximum, adding a scanline boundary immediately below said first vertex; for each second vertex that is a local minimum, adding a scanline boundary immediately above said second vertex; rasterizing by the graphics processing unit at least one of said scanline-boundaried trapezoidal regions according to a trapezoid rasterization method; and rasterizing by the graphics processing unit each other region in said graphics primitive using a rasterizer wherein for each other region the rasterizer utilizes an analytic coverage process that computes coverage on a per-pixel basis based on an area contributed by the other region to each pixel.