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

1007 B

RenderPipeline::~RenderPipeline

销毁渲染管线基类对象。

virtual ~RenderPipeline() = default;

当前语义

  • 这是一个虚析构函数,保证通过 RenderPipeline* 删除具体 pipeline 时行为正确。
  • 基类析构函数本身不会主动调用 Shutdown
  • 因此 GPU 资源释放策略由调用方和派生类共同决定:
    • CameraRenderer 会在替换或销毁 pipeline 前显式调用 Shutdown()
    • 某些派生类会在自己的析构函数里再次兜底,例如 builtin forward pipeline。

设计说明

  • Shutdown() 与 C++ 析构分开,可以让调用方在对象仍然存活时就提前回收 GPU 资源,而不是把所有释放时机都拖到对象真正销毁的最后一刻。
  • 这也意味着“对象被 delete”并不天然等价于“已经执行过规范的渲染资源 shutdown 路径”。

相关文档