# 3D API based on CUDA ?

**URL:** <https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812>\
**Category:** CUDA Programming and Performance\
**Created:** [December 23, 2013, 10:39pm UTC](https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812 "2013-12-23T22:39:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jpgygax68](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@jpgygax68](https://forums.developer.nvidia.com/u/jpgygax68)\
**Post date:** [December 23, 2013, 10:39pm UTC](https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812/1 "2013-12-23T22:39:18Z")

</div>

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

[![](https://global.discourse-cdn.com/nvidia/original/3X/a/8/a8f203a914b3e632ffec704b73b10a0d9e0c8338.jpeg "Oxide Games AMD Mantle Presentation and Demo") ](https://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?

---

<div class="post-metadata">

**Author:** ![cmaster.matso](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/cmaster.matso/32/12153_2.png) [@cmaster.matso](https://forums.developer.nvidia.com/u/cmaster.matso)\
**Post date:** [December 24, 2013, 9:13am UTC](https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812/2 "2013-12-24T09:13:23Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jpgygax68](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@jpgygax68](https://forums.developer.nvidia.com/u/jpgygax68)\
**Post date:** [December 24, 2013, 10:59am UTC](https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812/3 "2013-12-24T10:59:02Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![allanmac](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/allanmac/32/12124_2.png) [@allanmac](https://forums.developer.nvidia.com/u/allanmac)\
**Post date:** [December 24, 2013, 9:32pm UTC](https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812/4 "2013-12-24T21:32:26Z")

</div>

Here is a good example of what you’re proposing: [Google Code Archive - Long-term storage for Google Code Project Hosting.](https://code.google.com/p/cudaraster/)

---

<div class="post-metadata">

**Author:** ![jpgygax68](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@jpgygax68](https://forums.developer.nvidia.com/u/jpgygax68)\
**Post date:** [December 25, 2013, 12:01pm UTC](https://forums.developer.nvidia.com/t/3d-api-based-on-cuda/31812/5 "2013-12-25T12:01:44Z")

</div>

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?
