Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk: reading Shaders now, and throw error

File size: 1.1 KB
RevLine 
[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
13typedef enum
14{
15  SHADER_NONE       = 0,
16  SHADER_FRAGMENT   = 1,
17  SHADER_VERTEX     = 0,
18
19} SHADER_TYPE;
20
[4838]21// FORWARD DECLARATION
[5262]22template<class T> class Array;
[3543]23
24
[3955]25//! A class for ...
[5261]26class Shader : public BaseObject {
[1853]27
[1904]28 public:
[5262]29  Shader(const char* vertexShaderFile = NULL, const char* fragmentShaderFile = NULL);
[5261]30  virtual ~Shader();
[1853]31
[5261]32  bool loadShaderProgramm(SHADER_TYPE type, const char* fileName);
33  bool activateShader();
[5262]34  void deleteProgram(SHADER_TYPE type);
[3245]35
[5264]36  void printError(GLenum program);
[5262]37  void debug() const;
38
39  private:
40
[3245]41 private:
[5261]42   char*                  fragmentShaderFile;
43   char*                  vertexShaderFile;
[5262]44   Array<char*>*          fragmentShaderSource;
45   Array<char*>*          vertexShaderSource;
[5263]46   Array<int>*            fragmentShaderLengths;
47   Array<int>*            vertexShaderLenghts;
[5261]48   GLenum                 shaderProgram;
49   GLenum                 vertexShader;
50   GLenum                 fragmentShader;
[1853]51};
52
[5261]53#endif /* _SHADER_H */
Note: See TracBrowser for help on using the repository browser.