нарисовать текстуру opengl на весь экран - PullRequest
1 голос
/ 30 мая 2011

Я хочу нарисовать текстуру 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 Ответ

4 голосов
/ 30 мая 2011

Почему вы должны использовать только glFrustum?Переключение на glOrtho для рисования фона, затем переключение на glFrustum для обычного рисования было бы каноническим решением.

Кстати: gluLookAt должно происходить в матрице вида модели, а не в матрице проекции, как выделай прямо сейчас.В настоящее время ваш код не работает, и если бы вы были студентом одного из моих классов OpenGL, я бы дал вам отрицательные баллы за эту кардинальную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...