我試圖在構建一個更大的程序之前在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