1.2 KiB
1.2 KiB
OpenGLDevice::Shutdown
void Shutdown() override
关闭 OpenGL 设备并释放相关资源。
详细描述
关闭 OpenGL 设备并执行清理操作:
- 窗口销毁: 如果设备拥有窗口 (
m_ownsWindow == true),调用glfwDestroyWindow()销毁 GLFW 窗口 - 状态重置:
m_window设为nullptrm_initialized设为falsem_ownsWindow设为false
窗口所有权
设备可能通过两种方式获得窗口:
- 自有窗口: 通过
CreateRenderWindow()创建,设备负责销毁 - 外部窗口: 通过
InitializeWithExistingWindow()传入,设备不负责销毁
注意事项
- 多次调用
Shutdown()是安全的 - 销毁窗口后,与该窗口关联的 OpenGL 上下文将无效
- 建议在程序结束前显式调用
Shutdown()
示例
{
OpenGLDevice device;
device.Initialize(desc);
// ... 使用设备进行渲染
device.Shutdown(); // 显式关闭
}
// 或等待析构函数自动调用
相关文档
- OpenGLDevice - 类总览
- Initialize - 初始化设备
- CreateRenderWindow - 创建渲染窗口