00001 class GLShader; 00002 00003 #ifndef GLShader_H 00004 #define GLShader_H 00005 00006 #define LOOP 0 00007 00008 #include "glew/glew.h" 00009 #include "GLProgramm.h" 00010 #include <string> 00011 #include <vector> 00012 00013 #include <QString> 00014 00015 using namespace std; 00016 00017 class GLShader 00018 { 00019 public: 00020 GLShader(GLuint type); 00021 ~GLShader(); 00022 bool load(QString shaderName); 00023 bool change(); 00024 bool compile(bool *changed = 0); 00025 void free(); 00026 00027 bool changed, initialized; 00028 QString shaderName; 00029 GLuint type, shader; 00030 string source; 00031 unsigned int loopPos, loopIterations, maxLoopIterations; 00032 vector<string> parts; 00033 vector<string> glue; 00034 }; 00035 00036 #endif // GLShader_H