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.