Варианты закадрового рендеринга на Android с OpenGL ES 1.0? - PullRequest
3 голосов
/ 10 февраля 2011

Я работаю над реализацией выбора для игры OpenGL, которую я пишу для Android.Он использует метод «уникальный цвет» для рисования каждого осязаемого объекта в виде сплошного цвета, уникального для каждого объекта.Пользовательский ввод затем читает glReadPixels () в месте касания.Я получил раскраску, работающую и glReadPixels, но мне не удалось отделить «цветную» отрисовку от основной фактической отрисовки, что усложнило использование glReadPixels.

Предположительно, хитрость в работе с этимвизуализировать вторую сцену (для ввода) в внеэкранный буфер, но это кажется немного проблематичным.Я исследовал использование OpenGL ES1.1 FBO в качестве внеэкранного буфера, но, похоже, мой телефон (Samsung Galaxy S Vibrant (2.2)) не поддерживает FBO.Я в растерянности из-за того, как правильно отрисовать эту сцену (и запустить glReadPixels на ней), чтобы ее не засвидетельствовал пользователь.

Есть какие-нибудь идеи, как можно сделать закадровый рендеринг такого рода?

1 Ответ

4 голосов
/ 10 февраля 2011

, если FBO не поддерживается, вы всегда можете прибегнуть к рендерингу в ваш обычный обратный буфер.

Типичное использование будет:

  • Очистить обратный буфер
  • рисовать объекты "color-as-id"
  • Очистить обратный буфер
  • рисовать нормально
  • SwapBuffers

Вторая очистка сделаетуверен, что код комплектации не будет отображаться на конечном изображении.

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