Retrieving vertex data from gpu

Started by
2 comments, last by tok_junior 17 years, 1 month ago
Hey all, Not sure if this should be in another forum, but i am using directx so thought i'd post here. I'm looking for a way to pass vertex data to the vertexshader, have the shader modify the data, and then retrieve the altered vertex data back. Is there a way to do this? Basically this should allow me to send more data to the gpu for processing. I'm trying to use the GPU as a parrallel processor in effect. I've had a look at this site: www.gpgpu.org But haven't found anything useful/practical. I know of rendering to vertexbuffer, unfortunatley my internet connection is too bad for the ati samples (400Mb) and i don't know enough on how it works, can the calling application get the modified data without using a texture/rendertarget as the output? Any help appreciated. Thanks in advance. Psy
Advertisement
I haven't used it myself, but I believe IDirect3DDevice9::ProcessVertices() is what you're looking for.
"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke
Thanks Agony,

that looks exactly what i'm looking for. Does anyone know what the performance is like??
Well, it's performed on the CPU.
To have the GPU do the work you need to output the vertices to a texture, then lock the texture and fetch the results. MRTs or multiple passes if you need to return a lot of data.

This topic is closed to new replies.

Advertisement