#ifndef __BILLBOARD__
#define __BILLBOARD__

#ifndef PI
#define PI 3.14159265
#endif


#include <stdlib.h>
#include "Vec3f.h"
#include <iostream>

class TextureObject;
class VertexBufferObject;
class Material;

class Billboard
{
public:

	Billboard( std::string ImagePath);

	virtual ~Billboard();

	void showForTicks(Vec3f pos, Vec3f normal, Vec3f upDir, float width, float height, int ticks = -1);

	void update();
	void render();

protected:

	float width;
	float height;

	Vec3f pos;
	Vec3f normal;
	Vec3f up;

	int ticksLeft;
	int allTicks;

	TextureObject* texture;
	VertexBufferObject* vbo;
	Material* mat;


};

#endif __BILLBOARD__