Mercurial > hg > opencollidoscope
diff CollidoscopeApp/include/ParticleController.h @ 0:02467299402e
First import
CollidoscopeApp for Raspberry Pi
JackDevice
Teensy code for Collidoscope
author | Fiore Martin <f.martin@qmul.ac.uk> |
---|---|
date | Thu, 30 Jun 2016 14:50:06 +0200 |
parents | |
children | 7fb593d53361 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CollidoscopeApp/include/ParticleController.h Thu Jun 30 14:50:06 2016 +0200 @@ -0,0 +1,45 @@ +#pragma once + +#include "cinder/gl/gl.h" +#include <vector> + + +class ParticleController { + + struct Particle { + + ci::vec2 mCloudCenter; + ci::vec2 mVel; + float mCloudSize; + + int mAge; + int mLifespan; + bool mFlyOver; + + }; + + static const int kMaxParticles = 150; + + std::vector<Particle> mParticles; + std::vector< ci::vec2 > mParticlePositions; + + size_t mNumParticles; + + ci::gl::VboRef mParticleVbo; + ci::gl::BatchRef mParticleBatch; + + public: + static const int kMaxParticleAdd = 22; + + ParticleController(); + void addParticles(int amount, const ci::vec2 &initialLocation, const float cloudSize); + + void updateParticles(); + + inline void draw() + { + mParticleBatch->draw(); + } + +}; +