2012-07-04 26 views
5

No entiendo cuál fue el error aquí. Por favor dígame cómo resolver el error. Soy nuevo en el desarrollo de OpenGL. No está recopilando está demostrando error como este ERROR: 0:4: Use of undeclared identifier 'gl_FragColor'Open GL Error: uso del identificador no declarado 'gl_FragColor'

-(void)compileShaders{ 
GLuint vertexShader = [self compileShader:@"SimpleVertex" withType:GL_VERTEX_SHADER]; 
GLuint fragmentShader = [self compileShader:@"SimpleFragment" withType:GL_VERTEX_SHADER]; 

GLuint programHandle = glCreateProgram(); 
glAttachShader(programHandle, vertexShader); 
glAttachShader(programHandle, fragmentShader); 
glLinkProgram(programHandle); 

GLint linkSuccess; 
glGetProgramiv(programHandle, GL_LINK_STATUS, &linkSuccess); 
if (linkSuccess == GL_FALSE) { 
    GLchar messages[256]; 
    glGetProgramInfoLog(programHandle, sizeof(messages), 0, &messages[0]); 
    NSString *messageString = [NSString stringWithUTF8String:messages]; 
    NSLog(@"%@",messageString); 
    exit(1); 
} 
glUseProgram(programHandle); 
_positionSlot = glGetAttribLocation(programHandle, "Position"); 
_colorSlot = glGetAttribLocation(programHandle, "Sourcecolor"); 
glEnableVertexAttribArray(_positionSlot); 
glEnableVertexAttribArray(_colorSlot); 
} 

Respuesta

9

Modificar la línea 2 como esto

GLuint fragmentShader = [self compileShader:@"SimpleFragment" withType:GL_FRAGMENT_SHADER]; 

Debe recopilar fragmentos de shader de fragmento.

Cuestiones relacionadas