void GLSL_SetUniformFloat5(shaderProgram_t *program, int uniformNum, const vec5_t v) { GLint *uniforms = program->uniforms; vec_t *compare = (float *)(program->uniformBuffer + program->uniformBufferOffsets[uniformNum]); if (uniforms[uniformNum] == -1) return; if (uniformsInfo[uniformNum].type != GLSL_FLOAT5) { ri.Printf( PRINT_WARNING, "GLSL_SetUniformFloat5: wrong type for uniform %i in program %s\n", uniformNum, program->name); return; } if (VectorCompare5(v, compare)) { return; } VectorCopy5(v, compare); qglUniform1fvARB(uniforms[uniformNum], 5, v); }
GLvoid APIENTRY GLDSA_ProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { GL_UseProgramObject(program); qglUniform1fvARB(location, count, value); }