Files
XCEngine/docs/api/XCEngine/Rendering/RenderSurface/IsAutoTransitionEnabled.md

32 lines
1.2 KiB
Markdown

# RenderSurface::IsAutoTransitionEnabled
查询当前是否允许渲染路径自动处理颜色附件状态切换。
```cpp
bool IsAutoTransitionEnabled() const;
```
## 返回值
- 返回内部保存的 `m_autoTransition`
## 当前语义
- 当返回 `true` 时,`BuiltinForwardPipeline::Render()``BuiltinObjectIdPass::Render()` 会按
`colorStateBefore -> RenderTarget -> colorStateAfter`
的方式自动为颜色附件插入 barrier。
- 当返回 `false` 时,这两条路径不会替调用方做上述颜色状态切换。
- 这个开关只描述颜色附件,不包含深度附件状态。
## 当前实现边界
- 它不是对所有 pass 的全局强约束。`SceneViewportEditorOverlayPassRenderer::Render()` 会显式读取 [GetColorStateAfter](GetColorStateAfter.md),自己从该状态切到 `RenderTarget` 再切回去,而不是依赖这个布尔开关。
- 因此这里更像“供部分内建渲染路径采纳的策略位”,不是统一的 RHI 状态机。
## 相关文档
- [RenderSurface](RenderSurface.md)
- [SetAutoTransitionEnabled](SetAutoTransitionEnabled.md)
- [GetColorStateBefore](GetColorStateBefore.md)
- [GetColorStateAfter](GetColorStateAfter.md)