我想全屏绘制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
答案 0 :(得分:4)
为什么只能使用glFrustum
?切换到glOrtho
以绘制背景,然后切换到glFrustum
进行常规绘图将是规范的解决方案。
BTW:gluLookAt
必须在模型视图矩阵中发生,而不是像现在这样在投影矩阵中发生。目前你的代码已被破坏,如果你是我的一个OpenGL课程的学生,我会给你这个基本错误的负面点。