21 #include <linmath/float2.h> 22 #include "glutil/glutil.h" 23 #include "linmath/float3.h" 65 void setUniform1i(std::string name,
int value);
66 void setUniform1f(std::string name,
float value);
67 void setUniform2f(std::string name, chag::float2 value);
68 void setUniform3f(std::string name, chag::float3 value);
69 void setUniform4f(std::string name, chag::float4 value);
70 void setUniformMatrix4fv(std::string name, chag::float4x4 matrix);
72 void setUniformBufferObjectBinding(std::string bufferName,
int index);
73 void initUniformBufferObject(std::string bufferName,
int size,
int index);
74 void setUniformBufferSubData(std::string bufferName,
int offset,
int size,
const GLvoid *data);
79 void checkLinkageErrors();
80 void logLinkageError();
82 void createProgram(GLuint vertexShader, GLuint fragmentShader);
84 GLint getUniformLocation(std::string name);
90 std::map<std::string, GLint> uniformLocations;
91 GLint previousShaderProgram;
void restorePreviousShaderProgram()
Class for maintaining OpenGL shader programs.
void loadShader(IShader *vertexShader, IShader *fragmentShader)
void backupCurrentShaderProgram()