#ifndef EDGELIGHTBUFFER_H
#define EDGELIGHTBUFFER_H

#include <windows.h>
#undef __glext_h_
#undef __glxext_h_
#undef __gl_h_
#include <GL/GLee.h>
#include <vector>
#include "View.h"
#include "Camera.h"
#include "Matrix.h"

class EdgeLightBuffer
{
private:
	GLuint m_nLightTex;
	GLuint m_nFrameBuffer;

	int m_nWidth, m_nHeight;

public:
	EdgeLightBuffer(int nWidth, int nHeight);
	~EdgeLightBuffer();

	void drawToBuffer(GLuint depthTex, View *view, Camera *camera, vector<Vector4 *> edgeLights);

	void bind();
	void unbind();

	void bindLightTex();

	GLuint getLightTex();

	int getWidth();
	int getHeight();
};

#endif