24 #ifndef __HDLSHADER_INCLUDE__ 
   25 #define __HDLSHADER_INCLUDE__ 
   56                                 GLuint getShaderID(
void) 
const;
 
   57                                 GLenum getType(
void)     
const;
 
   68                                 static const int numShaderTypes = 6; 
 
   75                                                                 attachedFragmentShader;
 
   76                                 std::vector<std::string>        activeUniforms;
 
   77                                 std::vector<GLenum>             activeTypes;
 
   84                                 bool isValid(
void) 
const;
 
   85                                 void updateShader(
const HdlShader& shader, 
bool linkNow = 
true);
 
   89                                 const std::vector<std::string>& getUniformsNames(
void) 
const;
 
   90                                 const std::vector<GLenum>& getUniformsTypes(
void) 
const;
 
   92                                 void setFragmentLocation(
const std::string& fragName, 
int frag);
 
   93                                 void setVar(
const std::string& varName, GLenum type, 
int v0, 
int v1=0, 
int v2=0, 
int v3=0);
 
   94                                 void setVar(
const std::string& varName, GLenum type, 
int* v);
 
   95                                 void setVar(
const std::string& varName, GLenum type, 
unsigned int v0, 
unsigned int v1=0, 
unsigned int v2=0, 
unsigned int v3=0);
 
   96                                 void setVar(
const std::string& varName, GLenum type, 
unsigned int* v);
 
   97                                 void setVar(
const std::string& varName, GLenum type, 
float v0, 
float v1=0, 
float v2=0, 
float v3=0);
 
   98                                 void setVar(
const std::string& varName, GLenum type, 
float* v);
 
   99                                 void setVar(
const std::string& varName, 
const HdlDynamicData& data);
 
  101                                 void getVar(
const std::string& varName, 
int* ptr);
 
  102                                 void getVar(
const std::string& varName, 
unsigned int* ptr);
 
  103                                 void getVar(
const std::string& varName, 
float* ptr);
 
  106                                 bool isUniformVariableValid(
const std::string& varName);
 
  109                                 static int maxVaryingVar(
void);
 
  110                                 static void stopProgram(
void);
 
Object handle for OpenGL Shaders Objects (both vertex and fragment shaders). 
Definition: HdlShader.hpp:44
 
OpenGL Dynamic Memory Allocator. 
 
Definition: Component.hpp:32
 
static const unsigned int numShaderTypes
Number of different shader types. 
Definition: OglInclude.hpp:95
 
Dynamic allocator for GL types (run-time resolution of type). 
Definition: HdlDynamicData.hpp:65
 
Shader source code and infos. 
Definition: ShaderSource.hpp:55
 
Object handle for OpenGL Program (A vertex and a fragment program). 
Definition: HdlShader.hpp:65
 
OpenGL includes and tools.