System and method for drawing antialiased polygons
First Claim
1. A system for drawing antialiased polygons, which comprises a host data processor, a memory connected to said host data processor by a bus, a graphics processor connected to said bus, a display including a plurality of pixels for displaying the polygons, and a frame buffer connected between said graphics processor and said display, said graphics processor including a program for calculating values of an image array, said image array being selectively reconfigurable by said program to comprise either a plurality of the pixels or a plurality of subpixels within one of the pixels, lines of the polygons being determinable with said program by dividing a plane of the display surface into geometric half spaces with the lines and categorizing the half spaces by which side of the lines on which the half spaces are located, said graphics processor comprising a plurality of array registers and a plurality of comparators, each of said plurality of array registers being connected to one of said plurality of comparators, said registers and comparators for storing and comparing said values calculated by said program to determine in which said half space said pixels or subpixels in said image array reside.
2 Assignments
0 Petitions
Accused Products
Abstract
A system (30) draws antialiased polygons. A CPU (32) is connected to a floating point processor (FPU) (34) by bus (36). The CPU (32) is connected by a 32-bit system bus (38) to a random access memory (RAM) (40), a cache (42) and an interface (44) in graphics subsystem (45). The interface (44) is connected by bus (46) to graphics processor (48). The graphics processor (48) is connected by 120-bit graphics bus (50) to frame buffer (52). The frame buffer (52) is connected to a video digital to analog converter (DAC) (54) by bus (56). The DAC (54) is connected to video display (58) by line (60). The graphics processor (48) use a technique known as super-sampling to combat the effects of aliasing. In aliased mode, the graphics processor (48) use 16 array sites to sample 16 pixels (72). When drawing a polygon or line in antialiased mode, the graphics processor (48) uses the 16 sites to sample at 16 locations (120) within a single pixel (72). The antialiasing is done by determining what proportion of the locations (120) within each pixel (72) are within the polygon and setting a color of each pixel (72) on the basis of the proportion.
129 Citations
24 Claims
- 1. A system for drawing antialiased polygons, which comprises a host data processor, a memory connected to said host data processor by a bus, a graphics processor connected to said bus, a display including a plurality of pixels for displaying the polygons, and a frame buffer connected between said graphics processor and said display, said graphics processor including a program for calculating values of an image array, said image array being selectively reconfigurable by said program to comprise either a plurality of the pixels or a plurality of subpixels within one of the pixels, lines of the polygons being determinable with said program by dividing a plane of the display surface into geometric half spaces with the lines and categorizing the half spaces by which side of the lines on which the half spaces are located, said graphics processor comprising a plurality of array registers and a plurality of comparators, each of said plurality of array registers being connected to one of said plurality of comparators, said registers and comparators for storing and comparing said values calculated by said program to determine in which said half space said pixels or subpixels in said image array reside.
-
7. A system for drawing antialiased polygons, which comprises a host data processor, a memory connected to said host data processor by a bus, a graphics processor connected to said bus, a display including a plurality of pixels for displaying the polygons, and a frame buffer connected between said graphics processor and said display, said graphics processor including a program for calculating values of an image array, said image array being selectively reconfigurable by said program to comprise either a plurality of the pixels or a plurality of subpixels within one of the pixels, lines of the polygons being determinable with said program by dividing a plane of the display surface into geometric half spaces with the lines and categorizing the half spaces by which side of the lines on which the half spaces are located by logically combining the categorization of the side of the lines on which the half spaces are located, the lines of the polygons being determinable with said program by evaluating a linear equation equivalent to:
-
space="preserve" listing-type="equation">y=dy/dx x+y1-dy/dx x1,where x and y are coordinates on an x-axis and a y-axis, respectively, x1 and y1 are incremental values from the coordinates x and y, respectively and dx/dy is the derivative of x with respect to y, respectively representing a rate of change in values of x as values of y change, said derivative dx/dy representing a constant for said linear equation, said linear equation being evaluatable with said program by determining the relationship;
space="preserve" listing-type="equation">dx (offsety)-dy (offsetx),where offsetx, offsety are a pixel or subpixel'"'"'s offset from an origin of said image array and dx (offsety) and dy (offsetx) are the derivatives of x (offsety) and y (offsetx), said graphics processor comprising a plurality of array registers and a plurality of comparators, each of said plurality of array registers being connected to one of said plurality of comparators, said registers and comparators for storing and comparing said values calculated by said program to determine in which said half space said pixels or subpixels in said image array reside. - View Dependent Claims (8)
-
- 11. In a system for drawing antialiased polygons having a graphics processor including a program for calculating values of an image array, the improvement comprising said image array being selectively reconfigurable for sampling by said program to comprise either a plurality of the pixels or a plurality of subpixels within one of the pixels, lines of the polygons being determinable with said program by dividing a plane of the display surface into geometric half spaces with the lines and categorizing the half spaces by which side of the lines on which the half spaces are located, said graphics processor comprising a plurality of array registers and a plurality of comparators, each of said plurality of array registers being connected to one of said plurality of comparators, said registers and comparators for storing and comparing said values calculated by said program to determine in which said half space said pixels or subpixels in said image array reside.
- 15. In a system for drawing antialiased polygons having a graphics processor including a program for calculating values of an image array, the improvement comprising said image array being selectively reconfigurable by said program to comprise either a plurality of the pixels or a plurality of subpixels within one of the pixels, said graphics processor comprising a plurality of array registers and a plurality of comparators, each of said plurality of array registers being connected to one of said plurality of comparators, said registers and comparators for storing and comparing said values calculated by said program to determine whether said pixels or subpixels in said image array are inside the polygons.
- 17. A method for drawing antialiased polygons, comprising the steps of providing a graphics processor including a program for calculating values of an image array, said graphics processor being provided as a plurality of array registers and a plurality of comparators, each of said plurality of array registers being connected to one of said plurality of comparators, said registers and comparators for storing and comparing said values calculated by said program, selectively configuring the image array with the program to comprise either a plurality of pixels or a plurality of subpixels within one of the pixels, calculating values of the image array as configured, antialiasing the polygons, and determining lines of the polygons with said program by dividing a plane of a display surface into geometric half spaces with the lines, categorizing the half spaces by which side of the lines on which the half spaces are located, and updating the pixels or subpixels in the image array with the program in parallel.
Specification