void Shader::setUniform(const char* name, Matrix3 nm) { GLint location = glGetUniformLocation(_programInfo->glID, name); float packed[9] = { nm.getRow(0).getX(), nm.getRow(1).getX(), nm.getRow(2).getX(), nm.getRow(0).getY(), nm.getRow(1).getY(), nm.getRow(2).getY(), nm.getRow(0).getZ(), nm.getRow(1).getZ(), nm.getRow(2).getZ() }; glUniformMatrix3fv(location, 1, 0, &packed[0]); }
void SetUniform(const char* name, Matrix3 nm) { GLuint program; glGetIntegerv(GL_CURRENT_PROGRAM, (GLint*) &program); GLint location = glGetUniformLocation(program, name); float packed[9] = { nm.getRow(0).getX(), nm.getRow(1).getX(), nm.getRow(2).getX(), nm.getRow(0).getY(), nm.getRow(1).getY(), nm.getRow(2).getY(), nm.getRow(0).getZ(), nm.getRow(1).getZ(), nm.getRow(2).getZ() }; glUniformMatrix3fv(location, 1, 0, &packed[0]); }