OpenGL Resize / Stretch на Android - PullRequest
2 голосов
/ 29 июля 2011

В настоящее время у меня есть представление OpenGL, которое занимает почти весь мой экран. На планшетах, таких как Xoom и Galaxy Tab 10.1, нужно заполнить два пикселя, поэтому, поскольку мой фрагментный шейдер довольно большой, мой FPS на планшетах сильно падает. Я думал, что если бы я изменил вид на 2, шейдер должен был бы нарисовать 1/4 пикселя. Но мне все еще нужно, чтобы изображение занимало почти весь экран.

Итак, мой вопрос: как я могу уменьшить представление, а затем увеличить его так, чтобы каждый пиксель занимал приблизительно 4 пикселя пространства?

В настоящее время я могу уменьшить представление OpenGL, используя glSetViewport, но как я могу увеличить его, не заставляя фрагментный шейдер выполнять больше работы?

(Растянуть на весь экран нельзя, потому что я не ориентируюсь как минимум на Android 3.2)

1 Ответ

1 голос
/ 29 июля 2011

Если доступен OpenGL-ES 2 (если вы используете шейдеры, так и должно быть), тогда вы можете выполнить рендеринг для текстуры в цветном вложении объекта кадрового буфера меньшего размера (google для «рендеринга в текстуру»). FBO "). Затем вы рисуете эту текстуру на квадрате заполнения экрана.

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