0

我正在使用不支持 CUDA 或 OpenCL 等功能的 Windows Phone 7。我是 GPU 方面的新手,GPU 上有什么东西可以用来帮助加速光线追踪吗?像三角形相交测试?或者从纹理中选择正确的颜色?

4

2 回答 2

2

CUDA 等实际上只是用于编程着色器的高级语言,因此任何支持可编程着色器的平台都允许您在 gpu 上运行通用计算。

不幸的是,Windows Phone 7 似乎不支持自定义可编程着色器,因此目前无法真正实现光线追踪器的 GPU 加速。即使是这样,也很难有效地使用 GPU 进行光线追踪,因为有几个非常反 GPU 的特性:

  1. 内存相干性差(每条光线都可以轻松与完全不同的几何体进行交互)
  2. 高分支因子(着色器最适合始终遵循单一路径的代码)
  3. 大型工作集(许多几何图形必须在任何时候都可以在内存中访问,以计算甚至单条射线的结果)

如果您的目标是编写光线追踪器,那么完全在 CPU 上完成可能会容易得多,然后才考虑更深奥的优化。

于 2011-03-03T02:13:52.973 回答
0

即使在现代普通台式电脑上,光线追踪仍然有点慢。您可以通过仅拍摄主光线来加速它,但是光栅化方法实际上会更好更快。

您确定要在计算能力比 PC 还低的手机上进行光线追踪吗?它们不是为做那种工作而设计的。

于 2011-03-03T12:58:34.697 回答