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