Add support for mat3/4 shader uniforms

This commit is contained in:
Jeffery Myers 2021-06-15 12:21:24 -07:00
parent 246798a0ba
commit 041bba7bc0
2 changed files with 6 additions and 1 deletions

View File

@ -776,7 +776,9 @@ typedef enum {
SHADER_UNIFORM_IVEC2, SHADER_UNIFORM_IVEC2,
SHADER_UNIFORM_IVEC3, SHADER_UNIFORM_IVEC3,
SHADER_UNIFORM_IVEC4, SHADER_UNIFORM_IVEC4,
SHADER_UNIFORM_SAMPLER2D SHADER_UNIFORM_SAMPLER2D,
SHADER_UNIFORM_MAT3,
SHADER_UNIFORM_MAT4
} ShaderUniformDataType; } ShaderUniformDataType;
// Pixel formats // Pixel formats

View File

@ -3405,6 +3405,9 @@ void rlSetUniform(int locIndex, const void *value, int uniformType, int count)
case SHADER_UNIFORM_IVEC3: glUniform3iv(locIndex, count, (int *)value); break; case SHADER_UNIFORM_IVEC3: glUniform3iv(locIndex, count, (int *)value); break;
case SHADER_UNIFORM_IVEC4: glUniform4iv(locIndex, count, (int *)value); break; case SHADER_UNIFORM_IVEC4: glUniform4iv(locIndex, count, (int *)value); break;
case SHADER_UNIFORM_SAMPLER2D: glUniform1iv(locIndex, count, (int *)value); break; case SHADER_UNIFORM_SAMPLER2D: glUniform1iv(locIndex, count, (int *)value); break;
case SHADER_UNIFORM_MAT3: glUniformMatrix3fv(locIndex, count, GL_FALSE, (float*)value); break;
case SHADER_UNIFORM_MAT4: glUniformMatrix4fv(locIndex, count, GL_FALSE, (float*)value); break;
default: TRACELOG(LOG_WARNING, "SHADER: Failed to set uniform value, data type not recognized"); default: TRACELOG(LOG_WARNING, "SHADER: Failed to set uniform value, data type not recognized");
} }
#endif #endif