Initial Commit
Made a working prototype. Created ParticleEffect object structure and implemented some conifgurable parameters.
Updated to latest version of gl-matrix.js. Updated matrix calls for compatability. Added ParticleEmitter.lerp. Made a few other small changes.
Reduced buffers sizes to only be long enough to draw one particle.
Added a separate view matrix.
Added blending to support transparency of example particle images.
Data is now stored in and loaded from JSON files.
Fixed speed and start position of particles. Adjusted default values.
Implemented iterated assignment of emitter fields. Minor change to names in example.json.
Implemented particle rotation. Opts can be passed as an argument of engine function.
Textures can be switched on the fly.
ParticleEffect accepts html tag, string, or array for shader source. Default shaders moved from html into ParticleEffect as arrays.
Textures can only be accessed via the textureManager interface.
Textures can only be accessed via the textureManager interface.
Moved multiplication of projection and model-view matrices out of the shader.
Fixed minor merge conflict.
Refractored engine and ParticleEffect in order to create better separation of concerns and to prepare to hook ParticleEffect into the three.js rendering loop.
Created ParticleEffect.programManager interface.
Further refractored engine and ParticleEffect for more reasonable separation of concerns and to prepare to plug the effect into three.js.
Integration with three.js. ParticleEffect inherits Object3D and is rendered as a THREE.WebGLRenderer post plugin. Implemented THREE.TrackballControls for world transforms.