Files
XCEngine/docs/api/XCEngine/Rendering/RenderPipeline/Destructor.md

27 lines
1007 B
Markdown

# RenderPipeline::~RenderPipeline
销毁渲染管线基类对象。
```cpp
virtual ~RenderPipeline() = default;
```
## 当前语义
- 这是一个虚析构函数,保证通过 `RenderPipeline*` 删除具体 pipeline 时行为正确。
- 基类析构函数本身不会主动调用 [Shutdown](Shutdown.md)。
- 因此 GPU 资源释放策略由调用方和派生类共同决定:
- `CameraRenderer` 会在替换或销毁 pipeline 前显式调用 `Shutdown()`
- 某些派生类会在自己的析构函数里再次兜底,例如 builtin forward pipeline。
## 设计说明
-`Shutdown()` 与 C++ 析构分开,可以让调用方在对象仍然存活时就提前回收 GPU 资源,而不是把所有释放时机都拖到对象真正销毁的最后一刻。
- 这也意味着“对象被 delete”并不天然等价于“已经执行过规范的渲染资源 shutdown 路径”。
## 相关文档
- [RenderPipeline](RenderPipeline.md)
- [Shutdown](Shutdown.md)
- [Initialize](Initialize.md)