我有幾個opengl上下文,它們是直接在程序開始時從mainthread創建的。那時他們也會與wglShareLists(contextItem.hglrc,hglrc)共享;命令。我也有很多線程,每個線程都獲得一個上下文,其中wglMakeCurrent(hdc,m_vUsingContexts [i] .hglrc)爲;命令。從不同但共享的上下文中刪除framebufferobject
現在我只是想知道,如果我有線程1鏈接到CONTEXT1和線程2鏈接到上下文2兩者共享。是否有可能,線程1創建幀緩衝區對象和線程2刪除此幀緩衝區對象? (是還是不夠)
我知道這是絕對愚蠢的事情。通常創建東西的線程也應該刪除只有他自己的東西。但是我無法改變它,因爲它是一個directx 11程序,我只爲它編寫openGL驅動程序。在directx 11中,創建或刪除哪個線程並不重要。
我也可以用vertexbufferobjects和紋理做同樣的事嗎?