我正在創建僅在橫向模式下運行的應用程序。我正在嘗試使用紋理四邊形創建背景,儘管我現在不會擔心紋理。我一直試圖簡單地畫一個四捨五入來填充屏幕從drawOverlay(GL10 gl)與禁用GL_DEPTH_TEST,但每當我這樣做四方沒有完全填滿屏幕,我可以看到glClearColor欄底部和頂部的屏幕。Android OpenGL ES 1:使用四合一填充顯示器
無法使用我用於所有其他對象的modelview矩陣繪製它,我試圖用gluOrtho2D和glOrthof繪製它,但它們都沒有工作。我真的不明白近距離和遠距離剪切機如何與正交繪圖一起工作。每當我嘗試使用glOrtho2D或glOrthof繪製它時,四邊形都不會被繪製(儘管場景的其餘部分仍然呈現)。
這是我在使用正交矩陣
private void drawOverlay(GL10 gl) {
gl.glDisable(GL10.GL_DEPTH_TEST);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glPushMatrix();
gl.glLoadIdentity();
GLU.gluOrtho2D(gl, 0f, 1f, 1f, 0f);
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
background.draw(gl, 1.0f, 1.0f, 1.0f, 1.0f);
gl.glEnable(GL10.GL_DEPTH_TEST);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glPopMatrix();
gl.glMatrixMode(GL10.GL_MODELVIEW);
}
我打電話從onDrawFrame年初該函數繪製的嘗試 - 任何事情之前繪製:
public void onDrawFrame(GL10 gl) {
drawOverlay(gl);
gl.glLoadIdentity
//...
}
這裏是如何的「背景」被創建:
background = new ShapePostcard(1f, 1f);
我相當肯定我不能夠得到使用正常的模型視圖矩陣覆蓋屏幕,但基本上我所做的只是在深度測試禁用之前,在onDrawFrame中繪製「背景」。
感謝您的支持!