Ошибка API OpenGL ES (без контекста) - PullRequest
0 голосов
/ 22 января 2012

Я получаю эту ошибку:

ОШИБКА libEGL-вызова API OpenGL ES без текущего контекста

Мой класс расширяет GLSurfaceView.У меня есть метод Init (), который вызывается (из основного Activity) для инициализации некоторых вещей.Этот метод всегда вызывается после OnSurfaceCreated ().Этот метод вызывает встроенную библиотечную функцию, которая, в свою очередь, вызывает некоторые функции opengl.

Я изменил вещи так, что теперь я инициализирую вещи в методе onDraw (), и он работает.Итак, могут ли функции opengl (из java или собственного кода) вызываться только из методов java, имеющих параметр GL10?

Я запутался, но многопоточное программирование, так как я пришел из простой однопоточной разработки.Когда это безопасно (контекст доступен) для вызова функций opengles из нативного кода?Только из OnDraW (), onSurfaceCreated (), onSurfaceChanged ()?

Почему, когда из метода действия я вызываю метод Init () моего класса gl и контекст недоступен?

1 Ответ

0 голосов
/ 26 января 2012

Используете ли вы queuevent (runnable)? По звуку вы вызываете нативные функции из потока пользовательского интерфейса. Используя queuevent, вы гарантируете, что они выполняются в glthread и впоследствии использовать правильный контекст. проверить это: http://developer.android.com/reference/android/opengl/GLSurfaceView.html#queueEvent(java.lang.Runnable)

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