0

我想在渲染 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.
}
4

0 回答 0