Previous | Next --- Slide 69 of 71
Back to Lecture Thumbnails
EmDeeZee

How is the second bullet point determined without testing each point within the block? I can see that "early in" could be determined by just computing the corners of the block, but the same doesn't hold for "early out". How is this determined efficiently?

Max

The same can hold for early-out too - given the slope of the line you are testing against, you can choose one corner of the tile such that if that corner is outside the line, then the whole tile is outside.

Here's an interesting (and very long) explanation of these techniques: http://www.cs.cmu.edu/afs/cs/academic/class/15869-f11/www/readings/abrash09_lrbrast.pdf

That article is over a decade old now, so it doesn't entirely carry over to modern GPU rasterization, but many of the parallelism trade-offs are still relevant.