Files
XCEngine/docs/api/rhi/command-list/transition-barrier.md

33 lines
974 B
Markdown
Raw Normal View History

# RHICommandList::TransitionBarrier
```cpp
virtual void TransitionBarrier(void* resource, ResourceStates stateBefore, ResourceStates stateAfter) = 0;
```
2026-03-20 02:35:45 +08:00
设置资源状态转换屏障,确保 GPU 资源在状态转换前完成所有操作。资源在 GPU 不同的使用方式之间切换时需要通过此方法进行状态转换。
**参数:**
- `resource` - 目标资源指针
2026-03-20 02:35:45 +08:00
- `stateBefore` - 转换前的资源状态(枚举值)
- `stateAfter` - 转换后的资源状态(枚举值)
**返回:** `void`
**异常:** 无
**线程安全:** ❌
**复杂度:** O(1)
**示例:**
```cpp
// 将纹理从渲染目标状态转换到着色器读取状态
cmdList->TransitionBarrier(texture, ResourceStates::RenderTarget, ResourceStates::ShaderResource);
```
## 相关文档
- [RHICommandList 总览](command-list.md) - 返回类总览
2026-03-20 02:35:45 +08:00
- [CopyResource](copy-resource.md) - 复制资源
- [SetRenderTargets](set-render-targets.md) - 设置渲染目标