diff options
author | jvech <jmvalenciae@unal.edu.co> | 2022-09-11 13:54:51 -0500 |
---|---|---|
committer | jvech <jmvalenciae@unal.edu.co> | 2022-09-11 13:54:51 -0500 |
commit | 86c7bdee944ce2f60d63124e9ddb76198ddbc676 (patch) | |
tree | b15a18f9439f11a92de94bf3be16c736a8c927ed /src/shader.c | |
parent | ab2160bdd347f4cd827835f1687437d25fae94c6 (diff) |
learn: 14. Materials learnopengl book
Diffstat (limited to 'src/shader.c')
-rw-r--r-- | src/shader.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/shader.c b/src/shader.c index ae2f08e..a82c25d 100644 --- a/src/shader.c +++ b/src/shader.c @@ -101,14 +101,30 @@ shaderCreateProgram(const char *vertexShaderPath, const char *fragmentShaderPath } void -shaderSetUniformMatrix4fv(unsigned int program, char *uniformVariable, float *data) +shaderSetfv( + unsigned int program, + char *uniformVariable, + float *data, + void (*uniform_callback)(int, int, const float *)) { unsigned int varLoc = glGetUniformLocation(program, uniformVariable); - glUniformMatrix4fv(varLoc, 1, GL_TRUE, data); + uniform_callback(varLoc, 1, data); +} + + +void +shaderSetMatrixfv( + unsigned int program, + char *uniformVariable, + float *data, + void (*uniform_callback)(int, int, unsigned char, const float *)) +{ + unsigned int varLoc = glGetUniformLocation(program, uniformVariable); + uniform_callback(varLoc, 1, GL_TRUE, data); } void -shaderSetUniform1f(unsigned int program, char *uniformVariable, float data) +shaderSet1f(unsigned int program, char *uniformVariable, float data) { unsigned int varLoc = glGetUniformLocation(program, uniformVariable); glUniform1f(varLoc, data); |