Files
XCEngine/docs/api/XCEngine/Editor/Viewport/Passes/Passes.md

2.9 KiB
Raw Blame History

Passes

命名空间: XCEngine::Editor

类型: submodule

源目录: editor/src/Viewport/Passes/

描述: Scene View 专用 GPU pass 子模块,负责把 editor-owned 的网格、选中轮廓和世界 overlay 注入场景渲染请求。

概述

这个子目录当前包含三类 Scene View 专用 pass

当前 Scene View 的 GPU 注入链路已经拆成两段:

  • postScenePasses
    • SceneViewportGridPass
    • SceneViewportSelectionOutlinePass
  • overlayPasses
    • SceneViewportEditorOverlayPass

它们的职责都不是替代 SceneViewPanel 上的 ImGui 交互 overlay而是把“真正属于 3D 场景空间或 Scene View 渲染阶段”的辅助内容接到 SceneRenderer 请求里。

这种分层很合理:

  • 需要在主场景之后、overlay 之前补一层编辑器效果的内容,放进 post-scene pass。
  • 需要和场景深度关系一致的世界 overlay放进 overlay pass。
  • 需要响应鼠标命中、直接叠在 ImGui 纹理表面的 HUD / 前端控件,保留在 draw list。

当前实现限制

  • 当前这些 pass 只在 D3D12 后端返回成功。
  • SceneViewportGridPass / SceneViewportSelectionOutlinePass 目前是 Editor 对 runtime builtin pass 的包装层,不是新的 runtime 公共语义。
  • overlay sprite 贴图来源仍是编辑器资源目录中的 PNG 文件,不是材质系统通用资源。
  • 这组 pass 由 ViewportHostService 在 Scene View 渲染时按需注入,不是通用渲染管线公共 pass。

页面

相关文档