3D API based on CUDA ?

There’s quite the buzz these days about AMD’s Mantle, especially since Oxide’s “AMD Mantle Presentation & Demo” a few days ago:

http://www.youtube.com/watch?v=QIWyf8Hyjbg

According to the Oxide developers, Mantle basically does away with the graphics pipeline and gives developers full control over the GPU.

So, here’s a really dumb thought: given that CUDA could be described in pretty much the same way, wouldn’t it be possible to render 3D graphics using nothing but CUDA except for the final stage of displaying the resulting screen-sized texture?

Am I missing something obvious?

Indeed, it is possible. For example I’m making one myself, only difference from, say, OpenGL, is that I use ray tracing, not rasterization. It is a very hard work though.

MK

Thanks Matso! That’s a really interesting project you got there.

But I was really thinking more of “traditional” real-time rendering; a way to “bypass” the older APIs as it were.

I wonder if there is any important part of the GPU that is not accessible through CUDA ?

Here is a good example of what you’re proposing: https://code.google.com/p/cudaraster/

Thanks Allan, that is exactly what I had in mind.

I didn’t read the whole paper yet, I jumped to the “Ideas for Hardware Extensions” section at the end. It turns out my suspicion was right, there indeed is some dedicated hardware that is not available through CUDA, like attribute interpolation and the Render OutPut unit.

Do you know whether NVidia took up their suggestions for improvement?