簡體   English   中英

OpenGL ES API錯誤(無上下文)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM