据我所知,在GPU上作为像素着色器完成时,某些数学函数(如FFT和perlin噪声等)可以快得多。我的问题是,如果我想利用它来计算结果并流式传输到位图,我可以在不需要在Silverlight中实际显示它的情况下进行吗?
更具体地说,我正在考虑将此用于大型地形生成,涉及大量的perlin和其他噪声,以及高通过等后处理以及从高度图等导出法线等。
答案 0 :(得分:1)
简短的回答是肯定的。更长的答案是你可以设置(例如)纹理作为渲染目标,将结果存放在那里。
除非您真的开始使用着色器进行计算,否则您可能需要考虑使用实际为此类工作设计的内容,例如Cuda或OpenCL。
答案 1 :(得分:0)
这是一个很好的问题。
可以使用WriteableBitmap
及其Render
方法的实例呈现可以显示的任何内容。您可以使用Pixels
字节数组属性访问输出。
然而(假设开启GPU加速并且内容被适当标记以利用GPU)这样的渲染是否会在转到WriteableBitmap
而不是显示时实际使用GPU不知道。