CUDA Rasterizer? Are there any out there?


I’ve done some googling on the topic, but to the best of my knowledge there aren’t any out there…

I’m just wondering if anyone here has done work on a software rasterizer (capable of rasterizing triangles, with simple 2D texture mapping) - or if anyone here thinks it’s a feasible idea?

The reason I ask is, one of our main algorithms we’ve optimized using CUDA, spends roughly 40% of it’s time rendering using OpenGL - which takes ~5ms rendering a 320x240 RGB image (single ~500 triangle mesh, all data (vertex/index data) stored in VBOs, only using a single 2D texture to map a texture on to it, no shaders, and no other weird OGL features are being used), and then another 3ms to access the OpenGL colour/depth buffer in CUDA.

My initial gut feeling is that it would be very possible to write a rasterizer capable of rendering such small meshes, with a single texture - and beat the hardware accelerated OpenGL render time of ~8ms - additionally removing bandwidth at the same time (not having to copy colour/depth buffer data around) - even without having access to the ROPs in CUDA…

Anyone have thoughts/ideas on the topic? Would be much appreciated,


Edit: I should note for the timings (~8ms total), I’m referring to the performance while running on an ION (9400m), on an 8800 it’s roughly ~2-3ms (still excessive, and roughly 25% of the total algorithm’s time in that case)