1

据我所知,某些数学函数(如 FFT 和 perlin 噪声等)在 GPU 上作为像素着色器执行时会快得多。我的问题是,如果我想利用它来计算结果并流式传输到位图,我可以在不需要在 Silverlight 中实际显示它的情况下做到这一点吗?

更具体地说,我正在考虑将其用于涉及大量 perlin 和其他噪声的大型地形生成,以及诸如高通和从高度图导出法线等的后处理。

4

2 回答 2

1

简短的回答是肯定的。更长的答案是您可以将(例如)纹理设置为渲染目标,将结果存放在那里。

除非您真的打算使用着色器进行计算,否则您可能需要考虑使用实际为此类工作设计的东西,例如 Cuda 或 OpenCL。

于 2010-04-19T06:48:22.937 回答
0

嗯,这是个好问题。

任何可以显示的东西都可以使用 的实例WriteableBitmap及其Render方法来呈现。您可以使用Pixels字节数组属性访问输出。

但是(假设 GPU 加速已打开并且内容被适当地标记为使用 GPU)WriteableBitmap在我不知道的情况下,这样的渲染是否会真正使用 GPU 而不是显示。

于 2010-04-19T11:51:37.263 回答