Files
XCEngine/docs/api/XCEngine/Rendering/Pipelines/Pipelines.md

2.2 KiB
Raw Blame History

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 分层是一致的。当前功能还不算多,但架构边界已经建立起来了。

当前公开类型

默认接线关系

当前默认路径是:

  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 还没有在这一层落地

相关文档