view 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 source
#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();
    }
	
};