[英]OpenGL ES API error (no context)
我收到此錯誤:
在沒有當前上下文的情況下,對OpenGL ES API的錯誤libEGL調用
我的課擴展了GLSurfaceView。 我有一個方法Init()(從主Activity中調用)來初始化一些東西。 始終在OnSurfaceCreated()之后調用此方法。 此方法調用本機庫函數,而本機庫函數又調用一些opengl函數。
我已經進行了更改,以便現在可以在onDraw()方法中對其進行初始化,並且可以正常工作。 因此,能否僅從具有GL10參數的Java方法中調用opengl函數(來自Java或本地代碼)?
我很困惑,但是多線程編程,因為我來自簡單的單線程開發。 在安全的情況下(上下文可用)可以從本機代碼調用opengles函數嗎? 僅來自OnDraW(),onSurfaceCreated(),onSurfaceChanged()嗎?
為什么從活動方法調用gl類的Init()方法時,上下文不可用?
您是否正在使用queuevent(可運行)? 聽起來,您正在從ui線程調用本機函數。 通過使用queuevent,您可以確保它們在glthread中運行,並隨后使用正確的上下文。 檢查一下: http : //developer.android.com/reference/android/opengl/GLSurfaceView.html#queueEvent(java.lang.Runnable )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.