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)