Я пытаюсь нарисовать простой круг, используя OpenGL ES. Проблема в том, что круг вытянут вертикально. Это больше похоже на эллипс, чем на круг. Может ли кто-нибудь указать, где все идет не так?
Я поигрался с glViewPort, чтобы исправить это, но безуспешно. Как кто-то еще предложил здесь, в Stackoverflow, я также попытался загрузить другую матрицу вместо матрицы идентификаторов, и это тоже не работает ...
Вот код drawFrame:
- (void)drawFrame
{
[(EAGLView *)self.view setFramebuffer];
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
GLfloat vertices[720];
for (int i = 0; i < 720; i += 2)
{
vertices[i] = (cos(degreesToRadians(i)) * 1);
vertices[i+1] = (sin(degreesToRadians(i)) * 1);
}
glVertexPointer(2, GL_FLOAT, 0, vertices);
glEnableClientState(GL_VERTEX_ARRAY);
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glDrawArrays(GL_TRIANGLE_FAN, 0, 360);
[(EAGLView *)self.view presentFramebuffer];
}