1.1 KiB
1.1 KiB
SceneRenderer::~SceneRenderer
销毁场景级渲染器对象。
~SceneRenderer() = default;
当前语义
SceneRenderer自身没有自定义析构逻辑。- 真正的 teardown 发生在成员对象析构阶段:
m_cameraRenderer会关闭当前 runtime pipeline 和 object-id pass。m_requestPlanner作为普通值成员按常规方式销毁。
SceneRenderer不拥有外部传入请求上的RenderPassSequence,因此析构时不会回收这些外部序列对象。
调用方影响
- 即使
SceneRenderer的析构函数是= default,离开作用域时仍会触发内部CameraRenderer的资源释放路径。 - 任何此前通过 GetPipeline 或 GetPipelineAsset 观察到的非拥有指针,都会在
SceneRenderer销毁后失效。
测试覆盖
tests/Rendering/unit/test_camera_scene_renderer.cpp使用作用域退出断言了SceneRenderer内部持有的 pipeline 会在对象销毁时执行Shutdown()。