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();
+    }
+	
+};
+