# Pipelines **命名空间**: `XCEngine::Rendering::Pipelines` **类型**: `submodule` **描述**: 提供当前公开的具体渲染管线实现,以及与之配套的 pipeline asset 工厂。 ## 概览 `Rendering::Pipelines` 子命名空间承载的不是“渲染总流程”,而是“真正把场景数据画到目标表面的 runtime pipeline 实现”。 当前这层已经明确分成两类对象: - runtime pipeline 负责解析 shader pass、构建 pipeline layout、缓存 descriptor set,并发出 draw call。 - pipeline asset 负责决定该创建哪一条 runtime pipeline,并把实例交给 `CameraRenderer`。 这和商业引擎里常见的 `RenderPipelineAsset -> RenderPipeline` 分层是一致的。当前功能还不算多,但架构边界已经建立起来了。 ## 当前公开类型 - [BuiltinForwardPipeline](BuiltinForwardPipeline/BuiltinForwardPipeline.md) - `BuiltinForwardPipeline.h` - 当前默认的主场景前向管线实现。 - [BuiltinForwardPipelineAsset](BuiltinForwardPipelineAsset/BuiltinForwardPipelineAsset.md) - `BuiltinForwardPipeline.h` - 当前默认的 concrete `RenderPipelineAsset`,负责创建新的 `BuiltinForwardPipeline`。 ## 默认接线关系 当前默认路径是: 1. `CameraRenderer` 拿到 `BuiltinForwardPipelineAsset` 2. asset 创建 `BuiltinForwardPipeline` 3. runtime pipeline 执行主场景绘制 这样做的价值在于: - `CameraRenderer` 不需要知道 builtin forward 的内部细节 - future custom pipeline 的扩展位已经存在 - pipeline 工厂和 pipeline 实例的生命周期可以分开管理 ## 当前边界 - 目前公开的 concrete runtime pipeline 仍然只有 builtin forward 一条 - `BuiltinForwardPipelineAsset` 还只是 C++ 工厂对象,不是项目资源数据库里的 renderer asset - deferred、多主管线配置、render graph 和复杂 frame orchestration 还没有在这一层落地 ## 相关文档 - [Rendering](../Rendering.md) - [RenderPipeline](../RenderPipeline/RenderPipeline.md) - [RenderPipelineAsset](../RenderPipelineAsset/RenderPipelineAsset.md) - [CameraRenderer](../Execution/CameraRenderer/CameraRenderer.md) - [Scene Extraction And Builtin Forward Pipeline](../../../_guides/Rendering/Scene-Extraction-And-Builtin-Forward-Pipeline.md)