OpenGL ES API错误(无上下文)

时间:2012-01-22 14:04:47

标签: android opengl-es

我收到此错误:

  

错误的libEGL调用没有当前上下文的OpenGL ES API

我的课程扩展了GLSurfaceView。我有一个方法Init()被调用(从主Activity)来初始化一些东西。始终在OnSurfaceCreated()之后调用此方法。此方法调用本机库函数,该函数又调用一些opengl函数。

我已经改变了一些东西,所以现在我在方法onDraw()中初始化东西并且它有效。 那么,只能从具有GL10参数的java方法中调用opengl函数(来自java或本机代码)吗?

我很困惑但是多线程编程,因为我来自简单的单线程开发。当安全(上下文可用)从本机代码调用opengles函数时?仅来自OnDraW(),onSurfaceCreated(),onSurfaceChanged()?

为什么当从activity方法调用我的gl类的Init()方法并且上下文不可用时?

1 个答案:

答案 0 :(得分:0)

您使用的是queuevent(可运行)吗?通过它的声音,你从ui线程调用本机函数。通过使用queuevent,您可以确保它们在glthread中运行 然后使用正确的上下文。 看看这个:http://developer.android.com/reference/android/opengl/GLSurfaceView.html#queueEvent(java.lang.Runnable

相关问题