Я пытался визуализировать круг в opengles 1.1 в качестве теста перед сборкой более крупной программы, но он рендерился как овал. Вот код, который я использую для генерации и рендеринга моих вершин:
static const int numVerts = 40;
static GLfloat myFirstCircle[82];
myFirstCircle[0] = 0.0f;
myFirstCircle[1] = 0.0f;
for (int i = 2; i < (numVerts+1)*2; i+=2) {
myFirstCircle[i] = .5 * cosf(i*2*3.14159/numVerts);
myFirstCircle[i+1] = .5 * sinf(i*2*3.14159/numVerts);
}
glVertexPointer(2, GL_FLOAT, 0, myFirstCircle);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_TRIANGLE_FAN, 0, 22);
Я все еще немного новичок в этой системе, поэтому у меня может быть глупая ошибка, которую я не вижу, но мне кажется, что это должно генерировать 40 вершин на окружности радиуса .5. При рендеринге фигура на экране выглядит овальной, значительно выше ее ширины.
Мой вопрос таков: почему мой круг рендерит таким образом, и что я мог сделать, чтобы это исправить? Это первый вопрос по stackoverflow, поэтому я не уверен, как поделиться изображением моего вывода.