GPU Particle System Demo

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


Youtube Video: