Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
First Claim
1. A method of writing graphics images from a set of geometry data stored in a data memory to rasterized pixel data stored in a frame buffer for presentation on a display screen, said method comprising the steps of:
- storing a number for use as a z-coordinate value with each image pixel location represented by said frame buffer in a magnitude comparison content addressable memory buffer;
selecting a geometry data item having at least one z-coordinate value from said set of geometry data stored in said data memory;
generating a bounding box around said selected geometry data;
determining a minimum z-coordinate value of said selected geometry data;
simultaneously performing for each of a plurality of pixels, prior to generation of pixel raster data from said selected geometry data, an arithmetic magnitude comparison between said minimum z-coordinate value and previously stored z-coordinate values associated with each of said plurality of pixels of previously selected geometry data currently stored on a pixel-by-pixel basis in said magnitude comparison content addressable memory buffer; and
discarding on a pixel-by-pixel basis, prior to generation of pixel raster data from said selected geometry data, a portion of said selected geometry data for which said minimum z-coordinate value is greater than said previously stored z-coordinate values within said bounding box so that said discarded portion of said selected geometry data is not written to said frame buffer.
5 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and method for a Parallel Query Z-coordinate Buffer are described. The apparatus and method perform a keep/discard decision on screen coordinate geometry before the geometry is converted or rendered into individual display screen pixels by implementing a parallel searching technique within a novel z-coordinate buffer based on a novel magnitude comparison content addressable memory (MCCAM) structure. The MCCAM provides means for performing simultaneous arithmetic magnitude comparisons on numerical quantities. These arithmetic magnitude comparisons include arithmetic less-than, greater-than, less-than-or-equal-to, and greater-than-or-equal-to operations between coordinate values of a selected graphical object and the coordinate values of other objects in the image scene which may or may not occult the selected graphical object. Embodiments of the method and apparatus utilizing variations of bounding box occulting tests, vertex bounding box occulting tests, span occulting tests, and raster-write occulting tests, as well as combinations of these tests are described.
139 Citations
30 Claims
-
1. A method of writing graphics images from a set of geometry data stored in a data memory to rasterized pixel data stored in a frame buffer for presentation on a display screen, said method comprising the steps of:
-
storing a number for use as a z-coordinate value with each image pixel location represented by said frame buffer in a magnitude comparison content addressable memory buffer; selecting a geometry data item having at least one z-coordinate value from said set of geometry data stored in said data memory; generating a bounding box around said selected geometry data; determining a minimum z-coordinate value of said selected geometry data; simultaneously performing for each of a plurality of pixels, prior to generation of pixel raster data from said selected geometry data, an arithmetic magnitude comparison between said minimum z-coordinate value and previously stored z-coordinate values associated with each of said plurality of pixels of previously selected geometry data currently stored on a pixel-by-pixel basis in said magnitude comparison content addressable memory buffer; and discarding on a pixel-by-pixel basis, prior to generation of pixel raster data from said selected geometry data, a portion of said selected geometry data for which said minimum z-coordinate value is greater than said previously stored z-coordinate values within said bounding box so that said discarded portion of said selected geometry data is not written to said frame buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A graphics rendering system comprising:
-
a magnitude comparison content addressable memory for (i) receiving coordinate values including numerical z-coordinate values of corresponding geometry data, and (ii) for performing simultaneous arithmetic magnitude comparisons between a plurality of said received coordinate values with previously stored coordinate values in said magnitude comparison content addressable memory, and (iii) for generating an occulting signal representing results from said plurality of arithmetic magnitude comparisons of said received coordinate values with said stored coordinate values, and (iv) for updating said stored coordinate values in response to a result of said arithmetic magnitude comparisons; a processor coupled to said magnitude comparison content addressable memory for processing said geometry data responsive to said generated occulting signal from said magnitude comparison content addressable memory; and a frame buffer coupled to said processor for storing said processed geometry data from said processor. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method of converting imagery in the form of a set of geometry data stored in a data memory to rasterized pixel data stored in a frame buffer for presentation on a display screen, said method comprising the steps of:
-
storing a number for use as a z-coordinate value with each image pixel represented by said frame buffer in a storage location within a magnitude comparison content addressable memory buffer; selecting a geometry data item having at least one z-coordinate value from said set of geometry data; generating an approximating boundary characterization of said selected geometry data based on coordinate parameters of said selected geometry data; determining a minimum z-coordinate value of said selected geometry data; simultaneously performing for each of pixel in said image an arithmetic magnitude comparison test between said geometry object minimum z-coordinate value and said stored z-coordinate values of said image pixels; and discarding on a pixel-by-pixel basis, any portion of said selected geometry data for which said minimum z-coordinate value is greater than said previously stored z-coordinate values within said boundary characterization prior to rasterization of said selected geometry data. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification