QtOpenGLWidget的析构问题QOpenGLVertexArrayObject::destroy() failed to restore current context
发生的原因:我想在QOpenGLWidget的析构函数 delete 掉我的网格类对象,网格类对象内使用了VAO对象也就是。这个问题的原因就是因为在OpenGL窗口结束了之后,最后在析构的时候还有使用到OpenGL的东西,导致的上下文不不正确。OpenGL对自身的上下文是非常敏感的,稍有不慎可能就会导致内存泄漏,或者没有释放正确,就比如。所以在MyOpenGLWidget的析构函数中加入下面的函数来确保上下文正确。由于上下文的问题没有办法正确的释放。这个类,两个类的析构大致如下。
原创
2023-12-26 15:35:41 ·
962 阅读 ·
1 评论