Changeset 7818 in orxonox.OLD for branches/water/src/lib/graphics/shader.h
- Timestamp:
- May 24, 2006, 5:38:28 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/water/src/lib/graphics/shader.h
r7785 r7818 12 12 13 13 14 typedef enum15 {16 SHADER_NONE = 0,17 SHADER_FRAGMENT = 1,18 SHADER_VERTEX = 0,19 20 } SHADER_TYPE;21 22 14 // FORWARD DECLARATION 23 15 24 16 25 17 //! A class for ... 26 class Shader : public BaseObject { 18 class Shader : public BaseObject 19 { 20 public: 21 typedef enum 22 { 23 None = 0, 24 Fragment = 1, 25 Vertex = 2, 26 27 Program = 4, 28 } Type; 27 29 28 30 public: … … 32 34 static bool unload(Shader* shader); 33 35 34 bool loadShaderProgramm(SHADER_TYPE type, const std::string& fileName); 36 37 static bool checkShaderAbility(); 35 38 void activateShader(); 36 39 static void deactivateShader(); 37 void deleteProgram(SHADER_TYPE type); 40 41 42 bool loadShaderProgramm(Shader::Type type, const std::string& fileName); 43 void deleteProgram(Shader::Type type); 44 45 void linkShaderProgram(); 46 38 47 39 48 char* fileRead(const std::string& fileName); 40 49 std::vector<char*>* fileReadArray(const std::string& fileName); 41 50 42 static bool checkShaderAbility();43 51 44 52 inline static bool shaderActive() { return (Shader::storedShader != NULL)? true : false; }; … … 47 55 inline static void restoreShader() { if (storedShader != NULL) storedShader->activateShader(); storedShader = NULL; }; 48 56 49 GLhandleARB getProgram() { return this->shaderProgram; }50 GLhandleARB getVertexS() { return this->vertexShader; }51 GLhandleARB getFragmentS() { return this->fragmentShader; }52 57 53 void printError(GLhandleARB program); 58 GLhandleARB getProgram() const { return this->shaderProgram; } 59 GLhandleARB getVertexS() const { return this->vertexShader; } 60 GLhandleARB getFragmentS() const { return this->fragmentShader; } 61 54 62 void debug() const; 55 63 56 private: 64 static void printError(GLhandleARB program); 65 57 66 58 67 private: 59 68 std::string fragmentShaderFile; 60 69 std::string vertexShaderFile; 70 61 71 GLhandleARB shaderProgram; 72 62 73 GLhandleARB vertexShader; 63 74 GLhandleARB fragmentShader;
Note: See TracChangeset
for help on using the changeset viewer.