docs: update RHI API docs
This commit is contained in:
49
docs/api/rhi/opengl/device/shutdown.md
Normal file
49
docs/api/rhi/opengl/device/shutdown.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# OpenGLDevice::Shutdown
|
||||
|
||||
```cpp
|
||||
void Shutdown() override
|
||||
```
|
||||
|
||||
关闭 OpenGL 设备并释放相关资源。
|
||||
|
||||
## 详细描述
|
||||
|
||||
关闭 OpenGL 设备并执行清理操作:
|
||||
|
||||
1. **窗口销毁**: 如果设备拥有窗口 (`m_ownsWindow == true`),调用 `glfwDestroyWindow()` 销毁 GLFW 窗口
|
||||
2. **状态重置**:
|
||||
- `m_window` 设为 `nullptr`
|
||||
- `m_initialized` 设为 `false`
|
||||
- `m_ownsWindow` 设为 `false`
|
||||
|
||||
### 窗口所有权
|
||||
|
||||
设备可能通过两种方式获得窗口:
|
||||
- **自有窗口**: 通过 `CreateRenderWindow()` 创建,设备负责销毁
|
||||
- **外部窗口**: 通过 `InitializeWithExistingWindow()` 传入,设备不负责销毁
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 多次调用 `Shutdown()` 是安全的
|
||||
- 销毁窗口后,与该窗口关联的 OpenGL 上下文将无效
|
||||
- 建议在程序结束前显式调用 `Shutdown()`
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
{
|
||||
OpenGLDevice device;
|
||||
device.Initialize(desc);
|
||||
|
||||
// ... 使用设备进行渲染
|
||||
|
||||
device.Shutdown(); // 显式关闭
|
||||
}
|
||||
// 或等待析构函数自动调用
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [OpenGLDevice](device.md) - 类总览
|
||||
- [Initialize](initialize.md) - 初始化设备
|
||||
- [CreateRenderWindow](create-render-window.md) - 创建渲染窗口
|
||||
Reference in New Issue
Block a user