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

1.9 KiB
Raw Blame History

SceneRenderer

命名空间: XCEngine::Rendering

类型: class

头文件: XCEngine/Rendering/SceneRenderer.h

描述: 组织一帧场景渲染流程,负责 scene extraction并把结果交给当前 RenderPipeline

概述

SceneRenderer 是当前渲染模块的主入口。它把“提取场景数据”和“执行具体渲染”两步串起来:

默认情况下,它会创建 BuiltinForwardPipeline

当前实现边界

  • 默认构造会直接创建 BuiltinForwardPipeline
  • 传入空 pipeline 时,构造函数和 SetPipeline 都会退回到 BuiltinForwardPipeline
  • 析构时如果持有 pipeline会调用其 Shutdown()
  • Render 当前只在运行时触发 pipeline 的 Render(),并不会显式先调用 Initialize();默认前向管线靠内部 EnsureInitialized() 自己兜底。

公开方法

方法 说明
Constructor 构造场景渲染器。
Destructor 析构时关闭当前管线。
SetPipeline 替换当前渲染管线。
GetPipeline 获取当前管线指针。
Render 渲染一个场景。

设计说明

SceneRenderer 保持得足够薄,是一个正确方向。真正复杂的渲染逻辑应该沉到 pipeline而不是让 renderer 主入口变成一坨硬编码流程。

相关文档