4 ms·
While the article is accurate about how one can apply spacial subdivision to rasterization to cull primitives, there's a significant different in the details.
by jasonwatkinspdx 15y ago
While the article is accurate about how one can apply spacial subdivision to rasterization to cull primitives, there's a significant different in the details.
With raytracing, we always know exactly when we're done, because our outer loop iterates over each primary ray, and we trace that ray to its closest intersection.
With rasterization if we want some sort of early exit we have to keep track of what regions of the zbuffer remain unwritten. The problem is, we don't know if a "hole" in the zbuffer is going to be written to later by some primitive, or if it's just a hole to the background far plane in the scene. So a single gap can force us to rasterize all primitives in the fustrum. The natural scheme of coping with this is to subdivide into tiles and render each independently, but it remains a problem that it's difficult to know when you're "done" doing some early exit from rasterization.