Проблема с графикой OpenGL ES при отсутствии вызова glClear () - PullRequest
0 голосов
/ 04 августа 2011

Я работаю над приложением для iPad, в котором есть несколько тысяч частиц, которыми пользователь может манипулировать прикосновениями.Чтобы создать интересные дизайны, я хочу сделать так, чтобы при рисовании частицы в определенном месте этот рисунок не очищался в следующем кадре.Это создает своего рода эффект "следов".В данный момент я делаю это, когда «trails» включен, glClear () не вызывается для каждого кадра, поэтому рисунок из каждого кадра добавляется к рисунку предыдущего кадра.Это прекрасно работает в симуляторе iPad, но по какой-то причине, когда я запускаю это на реальном устройстве, когда я поворачиваю трейлы на трейлах частиц, мерцают, как будто с буферами происходит что-то странное.

Есть ли лучший способ создания трейлов / почему эта проблема с графикой возникает только в симуляторе?

Спасибо!

1 Ответ

0 голосов
/ 04 августа 2011

glClear () вызывается между буферами, чтобы вы могли начать рисовать следующий на чистом листе - вам действительно нужно очистить буфер между кадрами. Не рекомендуется продолжать заполнять буфер, так как вы можете начать создавать артефакты (как вы заметили).

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

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