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

closed as too broad by Josh Petrie Dec 18 '14 at 17:51

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
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