我试图在构建一个更大的程序之前在opengl es 1.1中渲染一个圆作为测试,但它呈现为椭圆形。下面是我用它来生成和渲染我顶点代码:试图在opengl es 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);
我还是有点新的这个系统,所以我可以有一个愚蠢的错误,我没有看到,但在我看来,这应该在半径为0.5的圆上生成40个顶点。渲染时,屏幕上的形状看起来像是一个椭圆形,比宽度高很多。
我的问题是这样的:我的圆圈为什么这样渲染,我能做些什么来修复它?这是第一个关于stackoverflow的问题,所以我不知道如何共享我的输出图像。
谢谢,伙计们!这很有意义。一旦我有时间去尝试一下,我会回来并批准一个答案。 – eipxen