2016-10-09 2 views
0

Я успешно рисую простые фигуры на своем GLSurfaceView с использованием OpenGL ES 2.0. До сих пор я не использую никаких текстур. Проблема в том, что когда я повторно запускаю во второй раз активность с GLSurfaceView, экран пуст (черный), фигуры не рисуются снова. Мне нужно переустановить все приложение, чтобы оно снова работало. У меня нет специальных методов & onResume поэтому я предполагаю, что новый экземпляр GLSurfaceView должен перерисовывать экран при каждом повторном запуске приложения.OpenGL ES 2.0 работает только один раз

Кто-нибудь знает, что мне здесь не хватает?

ответ

0

У меня нет каких-либо специальных методов & onResume

Это, скорее всего, ваша проблема. Вы должны следовать documentation of GLSurfaceView, а именно то, что он говорит, что под «активность Жизненный цикл»:

GLSurfaceView должен быть уведомлен, когда деятельность приостановлена ​​и возобновлена. Клиенты GLSurfaceView должны вызывать onPause(), когда активность приостанавливается и onResume(), когда активность возобновляется. Эти вызовы позволяют GLSurfaceView приостанавливать и возобновлять поток рендеринга, а также разрешать GLSurfaceView выпускать и воссоздавать отображение OpenGL.

+0

Eh ... Я перевернул оба метода и оставил их пустыми ... извинения за то, что вы не торопитесь. Иссе исправлено. – davout