# SceneRenderer::GetPipeline 返回当前场景渲染器正在使用的 runtime pipeline。 ```cpp RenderPipeline* GetPipeline() const; ``` ## 返回值 - 返回内部 `m_cameraRenderer.GetPipeline()` 的结果。 ## 当前语义 - 这是一个非拥有裸指针,只用于观察当前绑定的是哪一个 `RenderPipeline` 实例。 - 该指针可能指向: - 手动注入的 runtime pipeline。 - 由当前 pipeline asset 创建出的 runtime pipeline。 - 在空指针回退路径中自动补出的默认 builtin forward pipeline。 - 调用 [SetPipeline](SetPipeline.md) 或 [SetPipelineAsset](SetPipelineAsset.md) 后,这个指针都可能变化。 ## 调用方影响 - 不应跨生命周期长期缓存这个指针;`SceneRenderer` 销毁、替换 pipeline 或回退默认 pipeline 后,它都可能失效。 - 它也不是“可由外部 delete 的所有权句柄”;真正的持有者仍是内部 `CameraRenderer`。 ## 测试覆盖 - `tests/Rendering/unit/test_camera_scene_renderer.cpp` 覆盖了替换 pipeline 前后 `GetPipeline()` 返回值的变化,以及旧 pipeline 被 `Shutdown()` 的行为。 ## 相关文档 - [SceneRenderer](SceneRenderer.md) - [SetPipeline](SetPipeline.md) - [GetPipelineAsset](GetPipelineAsset.md)