着色器代替GPGPU

Rav*_*ven 10 opengl gpgpu glsl

我想首先尝试一些GPGPU.我可以选择5种选择:OpenCL,CUDA,FireStream,Close to Metal,DirectCompute.那么不是真的,他们筛选了我的需求后,没有适合:)我使用的Radeon 3870HD,因此CUDA是出来了,我想跨平台的DirectCompute出来,靠近金属演变的FireStream(CUDA的等值AMD)和FS现在"过时"好的openCL.你猜怎么着?openCL可以从radeon 4xxx系列中获得.所以我不想学习那些不会被支持的东西,而且我没有新的硬件.

因此,在我获得新作品之前,我认为着色器可以真正做到类似的事情,更难以获得结果,也更慢.无论如何我不打算用这个做研究,所以对我来说它可能已经足够了.在google中搜索类似的东西是垃圾人的工作(没有冒犯)所以在用于显示的帧缓冲区之外的其他地方渲染的可能性是什么?可以创建纹理或其他缓冲区最适合这个吗?在纹理的情况下,我想要一些信息如何访问它,缓冲区应该没有太大的问题..

差点忘了,我正在使用openGL 3.1和GLSL 1.5

谢谢

Mat*_*gro 10

完全可能,GPGPU在CUDA出现之前就已经这样做了.这是一个从那时起的教程:

http://www.mathematik.uni-dortmund.de/~goeddeke/gpgpu/tutorial.html

要渲染帧缓冲以外的任何东西,可以在OpenGL 3.0中使用Transform Feeback渲染到VBO.

  • 嗨,您可以在http://openreng.sourceforge.net/上查看我的库,了解使用OpenGL的GP-GPU上的示例(例如,使用GPU进行Voronio计算)以及如何集成OpenCL(内部还有另一个库)叫做CLBind).您可以测试OpenCL(和OpenGL互操作性)的示例(当前非常简单)应用程序.您可能会发现源代码很有用,或者更喜欢使用库本身(基于OpenGL 3.x) (2认同)