Быстро меняющаяся текстура плоскости GL - PullRequest
2 голосов
/ 08 декабря 2011

Я имею дело с большими растровыми изображениями (5000x1440, думаю, двойные, тройные мониторы), которые иногда не помещаются в доступную для приложения память (кучу) (это верно для частей, которые разрабатываются в Java).

Собственный код в Android, однако, способен выделять столько, сколько доступно на устройстве (почти).Проблема в том, что нельзя легко получить доступ к этим данным в виде int[] или чего-то подобного, что будет передано в класс Bitmap.

Я получил подсказку, что некоторые функции OpenGL принимают параметры ByteBuffer, поэтомуЯ создал прототип решения, где я применяю это изображение в качестве текстуры к плоскости OpenGL.

Отказ от ответственности: я полный нуб GL, так что это может быть глупым вопросом

Я хотел бы быстро изменить данные текстуры (так как я получаю изображение через Wi-Fi).Если я просто изменяю содержимое буфера, ничего не происходит.

Если я загружаю текстуру на каждом draw, приложение работает, но вскоре многие приложения перестают работать (я полагаю, это перегружает GL-ES иличто-то, и Launcher, приложения Google и т. д. умирают, а затем перезапустить).Так что это явно бесполезно.

Итак, как быстро (часто) эффективно изменить текстуру?

...