I’ve read the paper “cascade demo secretes” by Nvidia and wanted to implement a particle system entirely on the gpu myself. So I wrote this small demo. Basicly it works like this:
- Vertexbuffer1 is rendered.
- the geometry shader processes the information (recomputes particle positions, speeds, etc.)
- the result is written into vertexbuffer2 by transform feedback
- vertexbuffer2 is drawn
- the geometry shader creates out of a point a billboard with 4 vertices
- fragment shader renders the billboard with the texture on it
- vertexbuffer1 and vertexbuffer2 are swaped
Needed Extensions:
- EXT_gpu_shader4
- NV_transform_feedback
- EXT_geometry_shader
Download:
Youtube Video: