#ifndef __shaderprogram_h__
	#define __shaderprogram_h__

#include <gxframework/gxopengl.h>

class Shader;

class ShaderProgram
{
public:
	ShaderProgram();
	virtual ~ShaderProgram();

	bool create();
	void attach(Shader& shader);
	bool link();
	bool validate();

	void getLog(char * buffer, const int size); 

	GLuint getHandle() const {
		return m_handle;
	}

private:
	GLuint m_handle;

};

#endif // ~__shaderprogram_h__
