I’ve been busy implementing the Fast Voxel Traversal algorithm by Amanatides & Woo (PDF). The base algorithm is pretty straightforward, but getting it to give the correct results for all feasible edge cases I can come up with is hard. I don’t want to stuff the code with more and more if-else tests, since this is a core render algorithm : it will be executed for each ray shot – it’s got to be quick, efficient, robust and give correct results. Coding Utopia?
Only have one new image this week, I implemented trilinear filtering, and just to test my codebase, I made some rectangular cells, why not? This six-cell surface gets a smooth color transition, as expected.