Example/Uniform Location Query Old: Difference between revisions
< Example
Example code for uniform location use, old-style. |
Categorization. |
||
Line 24: | Line 24: | ||
glUniformMatrix4fv(someMatrixLoc, 1, GL_FALSE, matrix); | glUniformMatrix4fv(someMatrixLoc, 1, GL_FALSE, matrix); | ||
</source> | </source> | ||
<noinclude>[[Category:Example Code]]</noinclude> |
Revision as of 05:03, 3 May 2015
Querying and using uniform locations, under the old introspection API.
Vertex shader code:
...
uniform vec3 someVector;
uniform mat4 someMatrix;
...
//Code must use these uniforms to be active.
C++ code:
GLuint program = //Compile and link program.
GLint someVectorLoc = glGetUniformLocation(program, "someVector");
assert(someVectorLoc != -1); //If fails, then the uniform is inactive.
GLint someMatrixLoc = glGetUniformLocation(program, "someMatrix");
assert(someMatrixLoc != -1); //If fails, then the uniform is inactive.
...
glUseProgram(program);
glUniform3f(someVectorLoc, 3.0f, 3.0f, 4.0f);
GLfloat matrix[16];
//Fill `matrix` with data. Non-transposed matrix data.
glUniformMatrix4fv(someMatrixLoc, 1, GL_FALSE, matrix);