Particle Effect Editor

I wrote this particle effect editor to work on my tools programming and my graphics programming skills. Each particle is modified by a vertex shader written in HLSL before being drawn to the screen. This allows thousands of particles to be drawn with little impact on performance. Particles are also rendered as point sprites rather than screen-aligned quads to decrease the number of vertices that must be passed to the vertex shader. The particle engine was written in C++ using native DirectX 9.0c and is imported as a DLL by the editor frontend. I wrote the frontend using C++/CLI for native/managed interoperability. Users can modify a variety of parameters, such as color, positition, velocity and sprite image. Particle effects can also be saved and later loaded. Saved files are (de)serialized using XML. In order to build and run the executable, the .NET Framework 3.5 and XNA Framework 3.0 must be installed, as well as DirectX 9.0c.

Demo Controls:

  • Move: Left mouse button
  • Tilt: Middle mouse button
  • Zoom: Left and right mouse buttons, simultaneously

Language(s): C++, C++/CLI, HLSL and XML
Libraries: DirectX, .NET Framework
Development Time: Two weeks