Files
XCEngine/docs/api/XCEngine/Rendering/Execution/SceneRenderer/Destructor.md

1.1 KiB

SceneRenderer::~SceneRenderer

销毁场景级渲染器对象。

~SceneRenderer() = default;

当前语义

  • SceneRenderer 自身没有自定义析构逻辑。
  • 真正的 teardown 发生在成员对象析构阶段:
    • m_cameraRenderer 会关闭当前 runtime pipeline 和 object-id pass。
    • m_requestPlanner 作为普通值成员按常规方式销毁。
  • SceneRenderer 不拥有外部传入请求上的 RenderPassSequence,因此析构时不会回收这些外部序列对象。

调用方影响

  • 即使 SceneRenderer 的析构函数是 = default,离开作用域时仍会触发内部 CameraRenderer 的资源释放路径。
  • 任何此前通过 GetPipelineGetPipelineAsset 观察到的非拥有指针,都会在 SceneRenderer 销毁后失效。

测试覆盖

  • tests/Rendering/unit/test_camera_scene_renderer.cpp 使用作用域退出断言了 SceneRenderer 内部持有的 pipeline 会在对象销毁时执行 Shutdown()

相关文档