Tiled Polygon Traversal Using Half-Plane Edge Functions

Loading...
Thumbnail Image
Date
2000
Journal Title
Journal ISSN
Volume Title
Publisher
The Eurographics Association
Abstract
Existing techniques for traversing a polygon generate fragments one (or more) rows or columns at a time. (A fragment is all the information needed to paint one pixel of the polygon.) This order is non-optimal for many operations. For example, most frame buffers are tiled into rectangular pages, and there is a cost associated with accessing a different page. Pixel processing is more efficient if all fragments of a polygon on one page are generated before any fragments on a different page. Similarly, texture caches have reduced miss rates if fragments are generated in tiles (and even tiles of tiles) whose size depends upon the cache organization. We describe a polygon traversal algorithm that generates fragments in a tiled fashion. That is, it generates all fragments of a polygon within a rectangle (tile) before generating any fragments in another rectangle. For a single level of tiling, our algorithm requires one additional saved context (the values of all interpolator accumulators, such as Z depth, Red, Green, Blue, etc.) over a traditional traversal algorithm based upon half-plane edge functions. An additional level of tiling requires another saved context for the special case of rectangle copies, or three more for the general case. We describe how to use this algorithm to generate fragments in an optimal order for several common scenarios.
Description

        
@inproceedings{
10.2312:EGGH/EGGH00/015-021
, booktitle = {
SIGGRAPH/Eurographics Workshop on Graphics Hardware
}, editor = {
I. Buck and G. Humphreys and P. Hanrahan
}, title = {{
Tiled Polygon Traversal Using Half-Plane Edge Functions
}}, author = {
McCormack, Joel
and
McNamara, Robert
}, year = {
2000
}, publisher = {
The Eurographics Association
}, ISSN = {
1727-3471
}, ISBN = {
1-58113-257-3
}, DOI = {
10.2312/EGGH/EGGH00/015-021
} }
Citation