From 86c7bdee944ce2f60d63124e9ddb76198ddbc676 Mon Sep 17 00:00:00 2001 From: jvech Date: Sun, 11 Sep 2022 13:54:51 -0500 Subject: learn: 14. Materials learnopengl book --- src/shader.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/shader.c') 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); -- cgit v1.2.3-70-g09d2