2013-11-19 3 views
0

Например, у меня есть 2 слоя: фон и изображение. В моем случае я должен показать или скрыть изображение с измененным значением масштабирования (просто переменная float).OpenGL ES. Скрыть слои в 2D?

Единственное решение, которое я знаю, состоит в том, чтобы сохранить 2 различных фреймовых буфера как для фона, так и для изображения, а не для рисования изображения, когда это не необходимо.

Но возможно ли это сделать проще?

ответ

1

Просто не передавайте геометрию в glDrawArrays() для слоя, который вы хотите скрыть при изменении масштаба. OpenGL ES полностью обновляет все кадры. У вас должен быть вызов glClear() в начале цикла обработки кадра. Итак, удаление чего-то происходит, просто не отправляя свои треугольники. Вам может понадобиться разделить геометрию на отдельные списки для каждого слоя.

+0

спасибо, но я решил это невероятно легко. Эта библиотека рекурсивно редуцирует сгенерированные объекты - в том же порядке, что и в svg. Поэтому я просто отменяю рекурсию, если соответствующий элемент в объекте карты является ложным. – user2083364

Смежные вопросы