【填坑】glGenTextures 創建紋理失敗,創建的紋理層爲ID爲0。initializeOpenGLFunctions 執行報錯。

 

      在QT使用OpenGL開發時發現glGenTexture無法創建出紋理層,執行結果如下,想到在Android 開發中 UI相關操作只能在UI線程中操作突然想到會不會是在子線程執行操作的原因,經過調整代碼發現確實是不能在子線程中創建。

     另外如果把OpenGL的初始化函數initializeOpenGLFunctions 放在子線程中會出現報錯的情況,還有如果把glDrawArrays放在子線程中操作也是無法繪製出圖像。

    總結,關於OpenGL的操作只能在UI線程操作,否則就會出現以上提到的三個典型錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章