Files
XCEngine/docs/api/XCEngine/Rendering/Passes/BuiltinDepthStylePassBase/BuiltinDepthStylePassBase.md

2.2 KiB
Raw Blame History

BuiltinDepthStylePassBase

命名空间: XCEngine::Rendering::Passes

类型: class

头文件: XCEngine/Rendering/Passes/BuiltinDepthStylePassBase.h

描述: BuiltinDepthOnlyPassBuiltinShadowCasterPass 共享的深度风格 pass 基类,负责懒初始化 shader / pipeline / per-object descriptor并按 RenderPass 约定执行一次只写深度的场景重绘。

概览

BuiltinDepthStylePassBase 把两类 pass 的公共逻辑集中在一起:

  • BuiltinMaterialPass 解析可兼容的 shader pass。
  • 复用 RenderResourceCache 上传 mesh GPU 副本。
  • 只接受“单个 PerObject 常量缓冲”这一类资源绑定计划。
  • Execute 中统一处理 RenderSurface 检查、viewport/scissor、清屏、绘制循环和颜色附件状态切换。
  • 虽然是“深度风格” pass当前执行框架仍要求 RenderSurface 同时提供 colorAttachments[0]depthAttachment,并沿用颜色 clear / transition 路径。

派生类当前只负责决定:

  • 构造时注入哪种 builtin shader 路径。
  • GetName() 返回什么名字。
  • 是否通过 ShouldRenderVisibleItem 进一步过滤可见物体。

公开与受保护方法

成员 说明
Constructor 受保护构造函数,保存 pass 类型与 builtin shader 路径。
Destructor 析构时调用 Shutdown
BuildCommonInputLayout 返回深度风格 pass 共用的 StaticMeshVertex 输入布局。
Initialize 懒初始化资源。
Shutdown 释放缓存的 shader、pipeline、descriptor 和 mesh GPU 副本。
Execute 执行一次深度风格场景重绘。
ShouldRenderVisibleItem 派生类可覆写的可见物体过滤点。

相关文档