用CUDA绘制三角形

qba*_*qba 7 algorithm parallel-processing cuda rasterizing

我正在编写自己的图形库(是的,它的作业:)并使用cuda快速完成所有渲染和计算.

我有绘制填充三角形的问题.我这样编写了一个进程绘制一个三角形.当场景中有很多小三角形时它工作得很好,但是当三角形很大时它会完全破坏性能.

我的想法是做两次通过.首先计算仅包含扫描线信息的选项卡(从此处绘制到此处).这将是每个过程计算的三角形,就像当前算法一样.在第二遍中,确实绘制了每个三角形有多个进程的扫描线.

但它会足够快吗?也许有更好的解决方案?

Str*_*ger 3

您可以查看此博客CUDA 中的软件渲染管道。我认为这不是最佳方法,但至少作者分享了一些有用的资源。

其次,阅读这篇论文可编程并行渲染架构。我认为这是最新的论文之一,而且也是基于 CUDA 的。

如果我必须这样做,我会使用像 Larrabee(即 TBR)甚至 REYES 中的数据并行光栅化管道,并将其适应 CUDA:

http://www.ddj.com/architect/217200602 http://home.comcast.net/~tom_forsyth/larrabee/Standford%20Forsyth%20Larrabee%202010.zip (请参阅演示文稿的第二部分)

http://graphics.stanford.edu/papers/mprast/