我有一個「正常」的opengl場景,想用一個簡單的四邊形覆蓋這個場景。opengl失真push-popMatrix
gl.glMatrixMode(GL_PROJECTION);
gl.glPushMatrix();
gl.glLoadIdentity();
gl.glMatrixMode(GL_MODELVIEW);
gl.glPushMatrix();
gl.glLoadIdentity();
gl.glTranslatef(-0.8f, 0.0f, 0.0f);
// draw background
gl.glBegin(GL_QUADS); // of the color cube
gl.glColor3f(1.0f, 0.5f, 0.5f);
gl.glVertex3f(0, 0, 1.0f);
gl.glVertex3f(0.5f, 0, 1.0f);
gl.glVertex3f(0.5f, 0.5f, 1.0f);
gl.glVertex3f(0, 0.5f, 1.0f);
gl.glEnd();
gl.glMatrixMode(GL_PROJECTION);
gl.glPopMatrix();
gl.glMatrixMode(GL_MODELVIEW);
gl.glPopMatrix();
正如你可以在屏幕截圖中看到的,新的矩陣是失真的。彩色的線是軸。
現在的問題是:我如何設置(在gluPerspective等)對我的矩陣來呈現一個正確的陣容寬高比?
這種扭曲的方式是什麼?你可以製作另外一張圖表,在其中畫出它應該看起來像什麼,或突出顯示問題。 –