Skip to main content
gamedev.net
🔒 Locked

Render to vertex array?

Started by Erik Sintorn 2 replies 2.5k views
Original Post
Erik Sintorn
Erik Sintorn
Hello, I'm currently working with GPU particle systems and realize that I would be much better of if there was some way to render directly to a vertex array. What I do now is I copy the final particle positions to a PBO each frame and I feel like I'm just wasting valuable time. Is there any way in OpenGL yet to render directly to a vertex array?
Foxostro
Foxostro
Hi,

ARB_super_buffer was supposed to give you the ability to do that. I even found a document describing how it would help with a GPU particle system:
http://www.gdconf.com/conference/archives/2004/latta_lutz_02.pdf

But this thread explains why ARB_super_buffer died:
http://www.gamedev.net/community/forums/topic.asp?topic_id=334003

-Andrew
Erik Sintorn
Erik Sintorn
Hmm... Okay. No implementation of this yet then. Is it possible in Direct3D? Thank you.
gold
gold
The description of the history and future of the superbuffers working group is inaccurate. ATI and NVIDIA are actually working well together now, and FBOs are designed to be cross platform. But render to vertex array is not yet supported directly.

The best solution today is to render to offscreen memory (e.g. an FBO) and ReadPixels to a PBO (which can be performed asynchronously and does not return data to the host). The PBO can then be bound as a VBO for rendering.

This is not a perfect solution as it requires a copy from the FBO to the PBO and ideally you would like to be able to perform this operation without copying any data. But the fact that this copy can be pipelined (and vid-to-vid copies are very fast) makes it pretty darned good.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.