使用 C ++ RAII 封裝 OpenGL 物件

OpenGL 物件的 RAII 封裝存在危險。最不可避免的是 OpenGL 物件與建立它們的 OpenGL 上下文相關聯。因此,必須在 OpenGL 上下文中完成對 C++ RAII 物件的破壞,該上下文共享由該 C++物件管理的 OpenGL 物件的所有權。

這也意味著如果擁有該物件的所有上下文都被銷燬,那麼任何現有的 RAII 封裝的 OpenGL 物件將嘗試銷燬不再存在的物件。

你必須採取手動步驟來處理此類上下文問題。