24 #include <flw/OpenGL.h> 40 GLbitfield glBitfield;
65 Uniform(
const std::string& name, GLuint type, GLsizei size, GLint location);
67 bool isName(
const std::string &name)
const;
69 GLuint getType()
const;
71 GLsizei getSize()
const;
73 GLint getLocation()
const;
75 void setName(std::string name);
77 void setType(GLuint size);
79 void setSize(GLsizei size);
81 void setLocation(GLint location);
87 void push(GLint value);
89 void push(GLint *value, GLint size);
91 void push(GLfloat value);
93 void push(GLfloat *value, GLint size);
95 void push(glm::mat4 value);
97 void push(glm::mat4 *value, GLuint size);
99 void push(glm::mat3 value);
101 void push(glm::mat2 value);
103 void push(glm::vec2 value);
105 void push(glm::vec3 value);
107 void push(glm::vec3 *value, GLuint size);
109 void push(glm::vec4 value);
113 static void push(GLint location, GLint data);
115 static void push(GLint location, GLuint data);
117 static void push(GLint location,
bool data);
119 static void push(GLint location, GLint *data, GLint count);
121 static void push(GLint location, GLfloat data);
123 static void push(GLint location, GLfloat *data, GLint count);
125 static void push(GLint location, glm::mat2 data);
127 static void push(GLint location, glm::mat3 data);
129 static void push(GLint location, glm::mat4 data);
131 static void push(GLint location, glm::mat4 *data, GLuint size);
133 static void push(GLint location, glm::vec2 data);
135 static void push(GLint location, glm::vec3 data);
137 static void push(GLint location, glm::vec4 data);