Files
XCEngine/docs/api/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline/Destructor.md

1.0 KiB
Raw Blame History

BuiltinForwardPipeline::~BuiltinForwardPipeline

销毁 builtin forward 主场景管线。

~BuiltinForwardPipeline() override;

当前语义

  • 当前析构函数会直接调用 Shutdown
  • Shutdown() 又会通过内部 m_passSequence 触发 BuiltinForwardOpaquePass::Shutdown(),最终回收到 DestroyPipelineResources()
  • 因此析构前会清掉 builtin shader handle、pass layout、descriptor set 缓存、pipeline state、fallback 纹理/采样器,以及内部 RenderResourceCache

设计说明

  • 这一层析构兜底很重要,因为 RenderPipeline 基类的虚析构函数本身不会自动执行 Shutdown()
  • 即使调用方忘记先手动 shutdownbuiltin forward pipeline 也会在对象销毁时补做一次资源释放。

相关文档