在QT使用OpenGL开发时发现glGenTexture无法创建出纹理层,执行结果如下,想到在Android 开发中 UI相关操作只能在UI线程中操作突然想到会不会是在子线程执行操作的原因,经过调整代码发现确实是不能在子线程中创建。
另外如果把OpenGL的初始化函数initializeOpenGLFunctions 放在子线程中会出现报错的情况,还有如果把glDrawArrays放在子线程中操作也是无法绘制出图像。
总结,关于OpenGL的操作只能在UI线程操作,否则就会出现以上提到的三个典型错误。