This is a particle system I started working on to dig into DX9. It’s gone through a few iterations, some architectural and some performance oriented. This version is entirely object oriented, where each emitter, particle, camera, input, etc. are classes. Particle is an abstract class, inherited by a Cube particle in these examples. Most of the details regarding the particular graphics API being used have been abstracted into the respective classes, and the scene can be described without using D3D function calls.
As a performance enhancement, this particle system uses hardware instancing. All particle specific information is transferred to the graphics card via a vertex buffer, with all position, color, and other particle logic performed in the vertex shader. The next major revision will include physics calculations to be performed on the GPU.
© 2013 Halogenica | Stumblr by Eleven Themes