229
235
glUseProgram(programObj);
238
- (void) setUniformInteger: (GLint) i named: (NSString*) name
240
GLuint loc = [[uniformDict objectForKey: name] unsignedIntValue];
243
loc = glGetUniformLocation(programObj, [name UTF8String]);
244
[uniformDict setObject: [NSNumber numberWithUnsignedInt: loc] forKey: name];
250
NSLog(@"failed to set uniform %@", name);
253
- (void) setUniformFloat: (float) f named: (NSString*) name
255
GLuint loc = [[uniformDict objectForKey: name] unsignedIntValue];
258
loc = glGetUniformLocation(programObj, [name UTF8String]);
259
[uniformDict setObject: [NSNumber numberWithUnsignedInt: loc] forKey: name];
265
NSLog(@"failed to set uniform %@", name);
268
- (void) setUniformFloat: (float*) f count: (int) count named: (NSString*) name
270
GLuint loc = [[uniformDict objectForKey: name] unsignedIntValue];
273
loc = glGetUniformLocation(programObj, [name UTF8String]);
274
[uniformDict setObject: [NSNumber numberWithUnsignedInt: loc] forKey: name];
278
glUniform1fv(loc, count, f);
280
NSLog(@"failed to set uniform %@", name);
232
285
- (void) setModelviewMatrix: (m16*) m
234
287
m16 nm = mtranspose(minverse(*m));
237
290
if (!normalMatrixLoc)
238
291
normalMatrixLoc = glGetUniformLocation(programObj, "normalMatrix");
240
glUniformMatrix4fv(modelviewMatrixLoc, 1, GL_FALSE, m->a);
241
glUniformMatrix4fv(normalMatrixLoc, 1, GL_FALSE, nm.a);
293
if (modelviewMatrixLoc != -1)
294
glUniformMatrix4fv(modelviewMatrixLoc, 1, GL_FALSE, m->a);
295
if (normalMatrixLoc != -1)
296
glUniformMatrix4fv(normalMatrixLoc, 1, GL_FALSE, nm.a);
244
299
- (void) setProjectionMatrix: (m16*) m
246
301
if (!projectionMatrixLoc)
247
302
projectionMatrixLoc = glGetUniformLocation(programObj, "projectionMatrix");
248
glUniformMatrix4fv(projectionMatrixLoc, 1, GL_FALSE, m->a);
304
if (projectionMatrixLoc != -1)
305
glUniformMatrix4fv(projectionMatrixLoc, 1, GL_FALSE, m->a);
250
307
- (void) setTextureMatrix: (m16*) m
252
309
if (!textureMatrixLoc)
253
310
textureMatrixLoc = glGetUniformLocation(programObj, "textureMatrix");
254
glUniformMatrix4fv(textureMatrixLoc, 1, GL_FALSE, m->a);
312
if (textureMatrixLoc != -1)
313
glUniformMatrix4fv(textureMatrixLoc, 1, GL_FALSE, m->a);
257
316
- (void) setColorRed: (float) r green: (float) g blue: (float) b alpha: (float) a
260
319
colorLoc = glGetUniformLocation(programObj, "color");
261
glUniform4f(colorLoc, r, g, b, a);
322
glUniform4f(colorLoc, r, g, b, a);