我目前在新 iPad 上的 GLKView 下使用 OpenGL ES 2.0。似乎,每当我调用 glColor4f 时,除了导致 GL_INVALID_OPERATION 错误之外,什么都没有发生(即它不会为我想要的多边形着色)。然后,一旦我尝试加载纹理,就会收到以下错误消息:
Error loading file: The operation couldn't be completed. (GLKTextureLoaderErrorDomain error 8.)
但在调用 glColor4f 之前,一切正常。下面是我的 drawInRect 代码:
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
// Render the object with GLKit
self.effect.texture2d0.enabled = NO;
self.effect.transform.modelviewMatrix = _defaultModelMatrix;
[self.effect prepareToDraw];
// Render the grid
glBindBuffer(GL_ARRAY_BUFFER, _gridVertexBuffer);
glEnableVertexAttribArray(GLKVertexAttribPosition);
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, 0, 0);
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glDrawArrays(GL_TRIANGLES, 0, TRIANGLES * 6);
glDisableVertexAttribArray(GLKVertexAttribPosition);
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
如果有人可以提供帮助,我将不胜感激。不过有些事情要指出。我尝试着色的对象存储在 VBO 中,并且呈现为白色(即使我尝试将其着色为红色)。
谢谢