2012-07-04 12 views
5

Non riesco a capire quale fosse l'errore qui. Per favore dimmi come risolvere l'errore sono nuovo nello sviluppo di openGL. Non è la compilazione sta mostrando errore come questo ERROR: 0:4: Use of undeclared identifier 'gl_FragColor'Errore Open GL: utilizzo dell'identificatore non dichiarato '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); 
} 

risposta

9

Modificare la riga 2 come questo

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

Si dovrebbe compilare frammenti Frammento shader.

Problemi correlati