#ifndef _OF_SHADER
#define _OF_SHADER


#include "ofMain.h"



//		---------------------------------------
// 		very useful info here:
// 		http://www.evl.uic.edu/aej/594/
// 		http://developer.3dlabs.com/openGL2/index.htm
// 		http://oss.sgi.com/projects/ogl-sample/registry/ARB/GLSLangSpec.Full.1.10.59.pdf
// 		http://developer.3dlabs.com/documents/glslmanpage_index.htm
//		http://www.lighthouse3d.com/opengl/glsl/index.php?intro

//		---------------------------------------
//		this is a very simple and good intro to GLSL:
//		http://developer.3dlabs.com/documents/whitepapers/GLSLfeatures-110.pdf


class ofShader{
	
	public:
		
		void 	loadShader(char * shaderName);	
		void 	loadShader(char * fragmentShaderName, char * vertexShaderName);	
		
		void 	unload();
		void 	setShaderActive(bool bActive);
		void 	setUniformVariable (char * name, float value);
		
		
		GLhandleARB 	vertexShader;
		GLhandleARB 	fragmentShader;
		GLhandleARB 	shader;
		
		bool			bLoaded;
};

#endif	

