在全屏幕上绘制opengl纹理

时间:2011-05-30 07:59:22

标签: android opengl-es textures

我想全屏绘制opengl纹理。

(纹理:128x128 ===>设备屏幕:320x480)

下面的代码效果不错,但纹理很小。

我只能使用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

1 个答案:

答案 0 :(得分:4)

为什么只能使用glFrustum?切换到glOrtho以绘制背景,然后切换到glFrustum进行常规绘图将是规范的解决方案。

BTW:gluLookAt必须在模型视图矩阵中发生,而不是像现在这样在投影矩阵中发生。目前你的代码已被破坏,如果你是我的一个OpenGL课程的学生,我会给你这个基本错误的负面点。