我开始在iOS中使用OpenGL。我总是学会了使用glBegin()
和glEnd()
在OpenGL中绘制东西,所以这对我来说是新的。OpenGL,glDrawArrays和IOS,错误的访问?
我想绘制一个简单的三角形。我可以很好地绘制一个白色三角形,我甚至可以使用glColor
绘制一个完整的彩色三角形。但是,每当我尝试使用下面的代码为每个顶点分配一个颜色时,在绘制数组时,我会得到一个EXC_BAD_ACCESS
。我正在使用iOS 4.3模拟器。我究竟做错了什么?
- (void) render:(CADisplayLink*)displayLink {
glClearColor(0, 104.0/255.0, 55.0/255.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
GLfloat vertices [] = {0,0,0, 0,100,0, 100,0,0};
GLfloat colours [] = {1.0,1.0,1.0, 1.0,1.0,1.0, 1.0,1.0,1.0};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glColorPointer(3, GL_FLOAT, 0, colours);
glDrawArrays(GL_TRIANGLES, 0, 3); <-- CRASHES HERE
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
[self.context presentRenderbuffer:GL_RENDERBUFFER];
}
+1:有趣的事情知道 – Sam 2012-02-12 14:54:34
谢谢!这工作:) 我永远不会hav猜测,直到我尝试加载图像的alpha值 – Lupi 2012-02-12 15:07:23