我首先要尝试一些GPGPU。我本来可以选择5种选择:OpenCL,CUDA,FireStream,接近金属,DirectCompute。好吧,不是真正针对我的需求进行过滤之后就不适合了:)我使用的是Radeon 3870HD,因此CUDA淘汰了,我希望跨平台DirectCompute淘汰了,“接近金属”的产品演变为FireStream(相当于AMD的CUDA),并且FS现在已“弃用”对于openCL而言。你猜怎么着? openCL是radeon 4xxx系列的产品。.所以我不想学习一些不被支持的东西,也没有新的硬件。
因此,在我获得新作品之前,我认为着色器确实可以做类似的事情,要获得结果要困难得多,而且速度也要慢得多。无论如何,我不打算对此进行研究,所以对我来说可能就足够了。在谷歌中搜索类似的东西是垃圾人的工作(没有冒犯),那么除了用于显示的帧缓冲区之外,在其他地方进行渲染的可能性又是什么?是否可以创建纹理或其他最适合此的缓冲区?在纹理的情况下,我想了解一些如何使用缓冲区的信息,这应该不是什么大问题。
差点忘了,我正在使用openGL 3.1和GLSL 1.5
谢谢
最佳答案
完全有可能,GPGPU在CUDA出现之前就已经做到了。这是当时的教程:
http://www.mathematik.uni-dortmund.de/~goeddeke/gpgpu/tutorial.html
要渲染到除帧缓冲区以外的任何内容,可以在OpenGL 3.0中使用“变换费率”来渲染到VBO。
关于opengl - 着色器代替GPGPU,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4839920/