source:
orxonox.OLD/trunk/src/lib/graphics/shader.h
@
5300
| Last change on this file since 5300 was 5266, checked in by bensch, 20 years ago | |
|---|---|
| File size: 994 bytes | |
| Rev | Line | |
|---|---|---|
| [4838] | 1 | /*! |
| [5261] | 2 | * @file shader.h |
| 3 | * @brief Definition of the Shader rendering class | |
| [3245] | 4 | */ |
| [1853] | 5 | |
| [5261] | 6 | #ifndef _SHADER_H |
| 7 | #define _SHADER_H | |
| [1853] | 8 | |
| [3543] | 9 | #include "base_object.h" |
| [5261] | 10 | #include "glincl.h" |
| [1853] | 11 | |
| [5261] | 12 | |
| 13 | typedef enum | |
| 14 | { | |
| 15 | SHADER_NONE = 0, | |
| 16 | SHADER_FRAGMENT = 1, | |
| 17 | SHADER_VERTEX = 0, | |
| 18 | ||
| 19 | } SHADER_TYPE; | |
| 20 | ||
| [4838] | 21 | // FORWARD DECLARATION |
| [3543] | 22 | |
| 23 | ||
| [3955] | 24 | //! A class for ... |
| [5261] | 25 | class Shader : public BaseObject { |
| [1853] | 26 | |
| [1904] | 27 | public: |
| [5262] | 28 | Shader(const char* vertexShaderFile = NULL, const char* fragmentShaderFile = NULL); |
| [5261] | 29 | virtual ~Shader(); |
| [1853] | 30 | |
| [5261] | 31 | bool loadShaderProgramm(SHADER_TYPE type, const char* fileName); |
| [5266] | 32 | void activateShader(); |
| 33 | static void deactivateShader(); | |
| [5262] | 34 | void deleteProgram(SHADER_TYPE type); |
| [3245] | 35 | |
| [5266] | 36 | char* fileRead(const char* fileName); |
| 37 | ||
| [5264] | 38 | void printError(GLenum program); |
| [5262] | 39 | void debug() const; |
| 40 | ||
| 41 | private: | |
| 42 | ||
| [3245] | 43 | private: |
| [5261] | 44 | char* fragmentShaderFile; |
| 45 | char* vertexShaderFile; | |
| 46 | GLenum shaderProgram; | |
| 47 | GLenum vertexShader; | |
| 48 | GLenum fragmentShader; | |
| [1853] | 49 | }; |
| 50 | ||
| [5261] | 51 | #endif /* _SHADER_H */ |
Note: See TracBrowser
for help on using the repository browser.










