enigma-dev/enigma-dev — pull request #164 by forthevin (2013-05-24 12:27:58+00:00)
Title: Fixes particles; refactors to use bridges in particles; moves to enigma_user

This pull request fixes the particle systems system, refactors the system to have bridges to each graphics system in the particles folder instead of the graphics system, implements bridges to graphics systems OpenGL1 and OpenGL3, uses OpenGL3 to implement the bridge to OpenGL3 (including using shaders, VBOs, VEAs, etc.), and moves particles and effects to enigma_user. The changes have been tested for graphics systems OpenGL1 and OpenGL3 on a number of particle and effect examples.

Of note is the OpenGL3 bridge. It is somewhat more verbose than the corresponding OpenGL1 bridge. The performance of it relative to the OpenGL1 bridge has been tested on two computers; the first box with a poor graphics card had unchanged performance, while the second box with a medium graphics card had slightly improved performance with the OpenGL3 bridge relative to the OpenGL1 bridge.

It should also be noted that the bridges to OpenGL1 and OpenGL3 will only compile as long as the corresponding graphics system is activated. This is done by putting the bridges in headers, including them from the "include.h" in the particles extension, and testing #define flags from each graphics system to determine which bridge to include.