iOS에서 OpenGL을 사용하기 시작했습니다. OpenGL에서 항상 glBegin()
과 glEnd()
을 사용하여 물건을 그리는 법을 배웠습니다.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
고맙습니다! 그게 효과가있어 :) 알파 값으로 이미지로드를 시도 할 때까지 나는 짐작하지 못했을 것이다. – Lupi