Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I have a classic particle system where each particle is represented by a quad and, each time step, I move each particle.

My target is webGL which means I don't have instancing, attribute divisors nor gl_VertexId; so basically I'm doing a lot of computation in Javascript and then uploading a big buffer each frame.

And, predictably, I'm having performance problems. Which made me wonder about the whole way of doing particle systems.

Are there recipes (with tutorials) for doing particle systems entirely in GLSL; basically giving the shader a single quad and telling it the time-step and it generating the flames or smoke or whatever?

I can just about imagine some noise functions making nice flames flickering, but what about particle systems that take external input like the moving of a character?

share|improve this question
Sure there are, second google hit for "particle system GLSL tutorial" -> Building a Million Particle System, GDC 2004 including sources –  Maik Semder Dec 29 '12 at 20:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.