我想了解圍繞OpenGL座標系的基本概念,所以我一直在製作來自在線指南的測試應用程序。Android OpenGL座標問題
目前我得出一個簡單的方形屏幕,使用簡單的座標:
-1.0f, 1.0f, 0.0f, // 0, Top Left
-1.0f, -1.0f, 0.0f, // 1, Bottom Left
1.0f, -1.0f, 0.0f, // 2, Bottom Right
1.0f, 1.0f, 0.0f, // 3, Top Right
在我的應用程序運行下面的代碼:
GLU.gluPerspective(gl, 45.0f, (float) width/(float) height, 0.1f, 100.0f);
我在這裏的基本瞭解該代碼將查看端口角度設置爲45度以及窗口大小的寬高比。
另一件事我做的是設定視位置-4單位在Z軸:gl.glTranslatef(0, 0, -4);
這是個什麼結果看起來像景觀...
而且在肖像...
我的問題是:
座標系是如何工作的,一個單元代表多少個像素?如何改變方向和寬高比影響方程?
如果我想繪製一個正方形的屏幕大小,45度視角和z-4視角位置......如何找出單位所需的寬度和高度?
謝謝,我想你已經指出了我的正確方向。我一直在閱讀有關不同投影類型(正交/透視)的資源,我發現正字法的工作方式至少我能理解。 – CatalystNZ 2011-06-02 21:48:16
它可能不是一種流行的思維方式,但對我而言,「透視」視圖一直是一種反覆試驗和錯誤的東西。畫一個形狀,然後用不同的轉換進行演奏,直到它從我喜歡的角度觀看......然後從那裏開始。基本上,Orthographic就是如何用OpenGL做2D。 – Maximus 2011-06-02 22:01:02