Claims
- 1. A method for rasterizing a primitive, the method comprising the steps, performed by a processor, of:
a) selecting one of the smaller tiles included in a larger tile; b) traversing the smaller tiles included in the larger tile, the traversal starting at the selected smaller tile and sequencing through each smaller tile that has one or more memory locations located within the primitive; and c) rasterizing each smaller tile encountered during step (b).
- 2. A method as recited in claim 1 wherein the larger tile is one of the larger tiles included in a still-larger tile and wherein the method further comprises the steps of:
d) traversing each larger tile in the still-larger tile that has one or more memory locations located within the primitive; and e) applying steps (a), (b) and (c) to each larger tile encountered during step (d).
- 3. A method as recited in claim 1 wherein the still-larger tile is one of a series of still-larger tiles that span the primitive, and wherein the method further comprises the steps of:
f) traversing each still-larger tile; and g) applying steps (d) and (e) to each still-larger tile encountered during step (f).
- 4. A method as recited in claim 1 further comprising the steps of:
selecting a vertex of the primitive as a starting vertex; and performing the step of selecting a smaller tile so that the smaller tile includes the starting vertex.
- 5. A method as recited in claim 1 wherein the smaller tiles included in the larger tile are arranged as a rectangle or square and are traversed left-to-right, top-to-bottom.
- 6. A method as recited in claim 2 wherein the larger tiles included in the still-larger tile are arranged as a rectangle or square and are traversed left-to-right, top-to-bottom.
- 7. A method for rasterizing a primitive in a frame buffer, where the frame buffer is organized as a series of memory tiles, the method comprising the steps, performed by a processor, of:
a) traversing the set of memory tiles that include memory locations within the primitive; b) accessing the memory tiles encountered during step (a) as respective sequences of smaller memory tiles; and c) rasterizing the smaller memory tiles within the sequences of smaller memory tiles.
- 8. A method as recited in claim 7 which further comprises the step of selecting smaller memory tiles within the sequences of smaller memory tiles for rasterization.
- 9. A method as recited in claim 7 wherein step (c) further comprises the step of determining which memory locations included in the smaller memory tiles are included in the primitive.
- 10. A method as recited in claim 7 wherein step (c) further comprises the steps of:
d) accessing the smaller memory tiles as respective sequences of still smaller memory tiles; and e) rasterizing the still smaller memory tiles within the sequences of still smaller memory tiles.
- 11. A method as recited in claim 10 which further comprises the step of selecting still smaller memory tiles within the sequences of still smaller memory tiles for rasterization.
- 12. A method as recited in claim 11 wherein step (e) further comprises the step of determining which memory locations included in the still smaller memory tiles are included in the primitive.
- 13. A system for rasterizing graphics primitives in a frame buffer, the system comprising:
means for accessing groups of memory locations in the frame buffer as memory tiles; means for accessing memory tiles as sequences of smaller memory tiles; and means for rasterizing the smaller memory tiles within the sequences of smaller memory tiles.
- 14. A system as recited in claim 13 which further comprises means for selecting smaller memory tiles within the sequences of smaller memory tiles for rasterization.
- 15. A system as recited in claim 13 wherein the means for rasterizing smaller memory tiles further comprises means for determining which memory locations included in the smaller memory tiles are included in the primitive.
- 16. A system as recited in claim 13 wherein the means for rasterizing smaller memory tiles further comprises:
d) means for accessing the smaller memory tiles as respective sequences of still smaller memory tiles; and e) means for rasterizing the still smaller memory tiles within the sequences of still smaller memory tiles.
- 17. A system as recited in claim 16 which further comprises means for selecting still smaller memory tiles within the sequences of still smaller memory tiles for rasterization.
- 18. A system as recited in claim 17 wherein the means for rasterizing still smaller memory tiles further comprises means for determining which memory locations included in the still smaller memory tiles are included in the primitive.
- 19. A system as recited in claim 18 wherein the means for determining which memory locations included in the still smaller memory tiles are included in the primitive further comprises one edge evaluator for each edge of the primitive, each edge evaluator configured to calculate the value of a respective edge function for an x and y value within the still smaller memory tiles.
- 20. A system as recited in claim 19 further comprising one adder tree for each edge evaluator, the adder tree for an edge evaluator configured to recalculate the edge function of the edge evaluator for each memory location within the still smaller memory level tiles.
- 21. A system as recited in claim 20 further comprising a set of AND gates, the AND gates combining the output of the adder trees, the AND gates producing a set of outputs, where each output specifies whether a particular memory location of a still smaller memory tile is included in the primitive.
RELATED APPLICATIONS
[0001] The following application claims the benefit of U.S. Provisional Application Serial No. 60/091,599 entitled “Method and Apparatus for Rasterizing in a Hierarchical Tile Order” by Zahid S. Hussain and Timothy J. Millet, filed Jul. 2, 1998, the disclosure of which is incorporated in this document by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60091599 |
Jul 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09145516 |
Sep 1998 |
US |
Child |
10383276 |
Mar 2003 |
US |