Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- + (BOOL)compileShader:(GLuint *)shader type:(GLenum)type file:(NSString *)file
- {
- GLint status;
- const GLchar *source;
- source = [[NSString stringWithContentsOfFile:file
- encoding:NSUTF8StringEncoding
- error:nil] UTF8String];
- if (!source) {
- NSLog(@"Failed to load shader (%s)", [file UTF8String]);
- return NO;
- }
- *shader = glCreateShader(type);
- glShaderSource(*shader, 1, &source, NULL);
- glCompileShader(*shader);
- #if defined(DEBUG)
- GLint logLength;
- glGetShaderiv(*shader, GL_INFO_LOG_LENGTH, &logLength);
- if (logLength > 0) {
- GLchar *log = (GLchar *)malloc(logLength);
- glGetShaderInfoLog(*shader, logLength, &logLength, log);
- NSLog(@"Shader compile log:\n%s", log);
- free(log);
- }
- #endif
- glGetShaderiv(*shader, GL_COMPILE_STATUS, &status);
- if (status == 0) {
- glDeleteShader(*shader);
- return NO;
- }
- return YES;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement