Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/graphics/shader.h @ 5262

Last change on this file since 5262 was 5262, checked in by bensch, 19 years ago

orxonox/trunk: file-parsing works

File size: 1009 bytes
Line 
1/*!
2 * @file shader.h
3 * @brief Definition of the Shader rendering class
4*/
5
6#ifndef _SHADER_H
7#define _SHADER_H
8
9#include "base_object.h"
10#include "glincl.h"
11
12
13typedef enum
14{
15  SHADER_NONE       = 0,
16  SHADER_FRAGMENT   = 1,
17  SHADER_VERTEX     = 0,
18
19} SHADER_TYPE;
20
21// FORWARD DECLARATION
22template<class T> class Array;
23
24
25//! A class for ...
26class Shader : public BaseObject {
27
28 public:
29  Shader(const char* vertexShaderFile = NULL, const char* fragmentShaderFile = NULL);
30  virtual ~Shader();
31
32  bool loadShaderProgramm(SHADER_TYPE type, const char* fileName);
33  bool activateShader();
34  void deleteProgram(SHADER_TYPE type);
35
36  void debug() const;
37
38  private:
39
40 private:
41   char*                  fragmentShaderFile;
42   char*                  vertexShaderFile;
43   Array<char*>*          fragmentShaderSource;
44   Array<char*>*          vertexShaderSource;
45   GLenum                 shaderProgram;
46   GLenum                 vertexShader;
47   GLenum                 fragmentShader;
48};
49
50#endif /* _SHADER_H */
Note: See TracBrowser for help on using the repository browser.