0

我在 High-Perf Graphics“GPU 上的高性能软件光栅化”上看到了演示文稿,工作/分析/比较给我留下了深刻的印象。

http://www.highperformancegraphics.org/previous/www_2011/media/Papers/HPG2011_Papers_Laine.pdf http://research.nvidia.com/sites/default/files/publications/laine2011hpg_paper.pdf

我的背景是 Cuda,然后两年前我开始学习 OpenGL,以开发 EMM-Check 的 3d 界面,这是一个视野分析程序,用于检查车辆是否符合特定标准。本质上,您装载车辆(或不同部件),然后您可以完全或单独移动它,添加镜子/相机,分析驾驶员视角的视角和阴影等。

我们正在处理一些透明元素(主要是视野,但也可能是车辆本身),因此我编写了一些粗略的算法来动态排序要渲染的元素(在原始级别,一种画家算法)但是当然,在某些情况下它很容易失败,尽管对于大多数情况来说就足够了..

出于这个原因,我开始在谷歌上搜索,我发现了很多技术,比如(双)深度剥离、A/R/K/F-buffer、ecc ecc

但看起来他们都受到高分辨率和/或大量三角形的影响。

由于我们还处理数百万个三角形(最多或多或少 10 个),所以我一直在寻找其他东西,最终我选择了软件渲染器,与硬件渲染器相比,它们提供免费的可编程性,但速度较慢..

所以我想知道是否有可能实现一些混合的东西,即对不透明元素使用硬件渲染器,对透明元素使用软件渲染器(cuda/opencl),然后将这两个结果结合起来。

或者,从这个角度来看,cuda/opencl 中的一个简单的(不需要复杂的视觉效果,只需位置、颜色、简单的光线和适当的透明度)光线追踪算法可能要简单得多,并且在未来?

我在网上没有找到任何关于此的信息……也许有什么特别的障碍吗?

我想知道您对此的每一个想法/提示/想法/建议

Ps:我还发现了 Liu 的“Single Pass Depth Peeling via CUDA Rasterizer”,但第一篇论文的解决方案似乎更快

http://webstaff.itn.liu.se/~jonun/web/teaching/2009-TNCG13/Siggraph09/content/talks/062-liu.pdf

4

1 回答 1

1

我可能会建议你看看 OpenRL,它可以让你拥有硬件加速的光线追踪?

于 2013-05-24T22:45:40.587 回答