It's very interesting and comes really close to something i thought, but real GPUs have a limit that Larrabee hasn't - memory bandwith.
I'm now doing some experiments in rasterization, and the brute force method (scanline, one thread one triangle) actually yelds very good results, reaching 60 FPS on the same scene...
the low performance peak happens when there are only few big triangles on screen, because one thread has to make thousands of memory writes, while it scales very well to 100.000+ small (2,3 pixel big) triangles... proving that the heavy maths are almost insignificant for performance.
So i thought to reverse the algorithm and have each pixel find its triangle, but the simple sort i used has proven to be even slower than the brute force approach because it actually requres more memory bandwidth, and on top of all required some thread-safe writes that completely ruined performance.
So i'm still looking for a better algorithm, but until now on GPU "brute force is better"




