LINUX.ORG.RU

Кусок картинки черный при отображении в glSurfaceView

 , ,


0

1

Всем доброго времени суток. Имеется такая проблема, над которой я уже устал ломать голову. На работе наша команда разрабатывает приложение под андроид которое использует webrtc(либа от гугла которая позволяет передачу аудио и видео peer2peer). Для вывода видео мы используем glSurfaceView. Выводимая картинка может быть больше чем экрантелефона, поэтому этот контрол впихнут в HorizontallScrollView. Проблема: на некоторых моделях телефонов (в частности на нексусе 5 с андройдом 5.0 и 5.1) при сворачивании и разворачивании приложения из менюшки недавно использовавшихся приложений(только при разворачивании из нее, при тапе на иконку приложения все работает нормально) та часть картинки которая не влезает на экран становиться черной, т.е та часть что влезает на экран рендериться нормально, а если проскролить вьюшку, что бы посмотреть, что там за кадром, там будет черный кусок. Что я пробовал делать - в onPause() останавливал фрагмент с данной вьюхой и удалял его, а в onResume() создавал заново, полагая, что все пересоздастся и будет работать нормально - однако проблему это не решает. Даже после создания фрагмента кусок изображения все равно остается черным. Сам я в opengl не шарю и в моей команде тоже никто не шарит, так что прошу вашей помощи и пояснений, в чем может быть проблема.


Нужно следить за потерей контекста и освобождать ресурсы, а при получении контекста восстанавливать ресурсы - буфера, текстуры, шейдеры.
Про все это есть в любых мануалах по gl.

andreyu ★★★★★ ()

Сам я в opengl не шарю и в моей команде тоже никто не шарит,

А как вы разрабатываете тогда?

Набрал в Яндексе: Horizontalscrollview glSurfaceView.
и сразу нашёл «How to Add ScrollView to GLSurfaceview in Opengl ES2.0 in Android», at Jun 28 2013, на Stackoverflow

pacify ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.