source:
orxonox.OLD/trunk/src/lib/graphics/shader.h
@
5286
Last change on this file since 5286 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.