How exactly does the block traverse the triangle? For example, how to determine the block size, the starting point of the block, the direction in which the block travels?

BryceSummers

I think it may help to think of the block as a single sample in a low fidelity pass of the image, then the it should be much the same as in the previous slide.

kayvonf

@BryceSummers. I like your analogy as it's true a simple traversal order over blocks would be row-major. However, I want to clarify that it would not be appropriate to think about tile traversal as point-in-sample tests on a much sparser sample grid.

When traversing tiles, the tile cannot be trivially rejected if the triangle overlaps any part of the box. So a triangle-box intersection test must be employed, not a point-sample test.

We didn't directly address the math of triangle-box intersection tests in this lecture. One good example is given in this article: Rasterization on Larrabee by Michael Abrash. Note that this article also describes a hierarchical method of tile traversal as opposed to a flat row-major version. I'd use the article for a good reference on triangle/box tests, as in most situations you won't find the hierarchical approach as useful.

How exactly does the block traverse the triangle? For example, how to determine the block size, the starting point of the block, the direction in which the block travels?

I think it may help to think of the block as a single sample in a low fidelity pass of the image, then the it should be much the same as in the previous slide.

@BryceSummers. I like your analogy as it's true a simple traversal order over blocks would be row-major. However, I want to clarify that it would not be appropriate to think about tile traversal as point-in-sample tests on a much sparser sample grid.

When traversing tiles, the tile

cannot be trivially rejectedif the triangle overlaps any part of the box. So a triangle-box intersection test must be employed, not a point-sample test.We didn't directly address the math of triangle-box intersection tests in this lecture. One good example is given in this article: Rasterization on Larrabee by Michael Abrash. Note that this article also describes a hierarchical method of tile traversal as opposed to a flat row-major version. I'd use the article for a good reference on triangle/box tests, as in most situations you won't find the hierarchical approach as useful.