Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Shaders in place of GPGPU

Tags:

gpgpu

opengl

glsl

I want to experiment with some GPGPU in first place. I could have chosen between 5 choices out there: OpenCL, CUDA, FireStream, Close to Metal, DirectCompute. Well not really after filtering them for my needs none suits :) I am using Radeon 3870HD, so CUDA is out, I want crossplatform DirectCompute out, Close to Metal evolved to FireStream (equivalent of CUDA for AMD) and FS is now "deprecated" for good of openCL. And guess what? openCL is avalible from radeon 4xxx series.. So I don't want to learn something that's not going to be supported and i don't have HW for new one.

So until I get new piece, I thought that shaders can really do similiar things, it's just much harder to get results back, and slower also. Anyway I don't plan to do research with this so for me it could be good enough. Searching for something like that in google is job for garbage man (no offense) so what are possibilities of rendering in other place than framebuffer used for displaying? Can one create textures or what other buffers would be suited best for this? In case of texture I would like some info how to access it, with buffers it shouldn't be much of a problem..

Almost forgot, I'm using openGL 3.1 and GLSL 1.5

Thanks

like image 761
Raven Avatar asked Jan 29 '11 22:01

Raven


1 Answers

It's completely possible, GPGPU was done that way before CUDA appeared. Here is a tutorial from that time:

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

To render to anything other than a framebuffer, you can use Transform Feeback in OpenGL 3.0 to render to a VBO.

like image 168
Dr. Snoopy Avatar answered Oct 19 '22 01:10

Dr. Snoopy