2011-05-30 76 views
1

我想全屏畫出opengl紋理。全屏畫出opengl紋理

(質地:128×128 ===>設備屏幕:480)

下面代碼工作很好,但質地小。我不得不使用glFrustumf函數(而不是glOrthof函數)。

如何以全屏尺寸繪製紋理?

// this is android source code 
float ratio = (float) screenWidth/screenHeight; 
gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10); 

GLU.gluLookAt(gl, 0.0f, 0.0f, -2.5f, // eye 
0.0f, 0.0f, 0.0f, // center 
0.0f, 1.0f, 0.0f); // up 

// draw blah blah 

回答

4

爲什麼你只能使用glFrustum?切換到glOrtho用於繪製背景,然後切換到glFrustum進行常規繪圖將是規範的解決方案。

順便說一下:gluLookAt必須發生在模型視圖矩陣中,而不是像現在這樣在投影矩陣中發生。按照它的規定,你的代碼被破壞了,如果你是我的一個OpenGL類的學生,我會給你這個主要錯誤的負面觀點。