我想在渲染 qquickwindow 后删除 opengl 纹理。我在渲染之前在 updatePaintNode 中生成 opengl 纹理。
我在渲染循环中使用纹理。
但是,我不知道如何在渲染后删除 opengl 纹理。因为opengl上下文只在渲染线程中有效,所以我不能在主线程中删除它。
如何删除opengl纹理..?
下面是代表我的案例的简单代码
ContentItem::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *) {
if (!glIsTexture(mTexutre)) {
glGenTextures(1, &mTexture);
}
}
~ContentItem() {
glDeleteTexture(mTexture); // is not working.
}