2012-03-21 53 views
1

我在通過OpenGL在僞2D畫布中顯示四邊形。OpenGL Android:X軸被神祕地翻轉

gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
gl.glOrthof(-ratio, ratio, -1, 1, 0, 10000); 

顯示四的座標是: 要做到這一點,我通過使用正投影

float[] quadCoords = {-10.0f, -10.0f, 5.0f, 
         10.0f, -10.0f, 5.0f, 
         10.0f, 10.0f, 5.0f, 
         -10.0f, 10.0f, 5.0f}; 

這四呈現爲2個三角形(我饒了你的代碼)。我也在應用一個很好的紋理。 「相機」被渲染四像這樣前定義:

gl.glMatrixMode(GL10.GL_MODELVIEW); 
gl.glLoadIdentity(); 
GLU.gluLookAt(gl, -10.0f, -10.0f, -5, -10.0f, -10.0f, 0f, 0f, 1.0f, 0.0f); 

正如可以看到,在視口的中心[-10,-10,0],它應在的左下角爲中心四方。然而,渲染場景時,它看起來像這樣:

OpenGL Screenshot

這似乎是右下角 - 但事實並非如此。我檢查了它,結果X軸被翻轉了。我在用gluLookAt做錯了什麼?或者我錯過了什麼?

回答

3

確定這是一個有點傻,但我找到了答案分鐘寫這封郵件的問題(它發生的時間後):

「相機」正在考慮四的背面。在gluLookAt中爲四邊形的所有z座標分配「0」,爲眼點的z座標分配「+1」固定它。