add guGetUniformLocations()

This commit is contained in:
Josh Holtrop 2011-05-13 15:28:24 -04:00
parent 50789dee61
commit 4891db44de
2 changed files with 15 additions and 0 deletions

View File

@ -338,3 +338,12 @@ GLuint guMakeProgram(GLuint v_shader_id, GLuint f_shader_id,
return program;
}
void guGetUniformLocations(GLuint program, guUniformLocation *locs)
{
int i;
for (i = 0; locs[i].name != NULL; i++)
{
*locs[i].loc = glGetUniformLocation(program, locs[i].name);
}
}

View File

@ -14,6 +14,10 @@ typedef struct {
GLuint index;
const char *name;
} guAttribBinding;
typedef struct {
GLint *loc;
const char *name;
} guUniformLocation;
#ifdef __cplusplus
extern "C" {
@ -49,6 +53,8 @@ GLuint guMakeProgramFromFiles(const char *v_shader, const char *f_shader,
GLuint guMakeProgram(GLuint v_shader_id, GLuint f_shader_id,
const guAttribBinding *bindings);
void guGetUniformLocations(GLuint program, guUniformLocation *locs);
GLuint guMakeBuffer(GLenum target, GLenum usage, const void *ptr, size_t sz);
#ifdef __cplusplus