Files
XCEngine/docs/api/rhi/opengl/fence/reset.md
2026-03-20 02:35:45 +08:00

48 lines
776 B
Markdown

# OpenGLFence::Reset
```cpp
void Reset();
```
重置栅栏为 unsignaled 状态。
## 详细描述
此方法执行以下操作:
1. 如果存在 `m_sync`,调用 `glDeleteSync()` 删除 OpenGL 同步对象
2.`m_sync` 置为 `nullptr`
3.`m_signaled` 设置为 `false`
重置后,栅栏的 `IsSignaled()` 将返回 `false`,可重新用于新的同步操作。
## 参数
## 返回值
## 示例
```cpp
OpenGLFence fence;
fence.Initialize(false);
fence.Signal();
// 使用后重置
fence.Reset();
// 此时 IsSignaled() 返回 false
if (!fence.IsSignaled()) {
// 可以重新使用
}
```
## 相关文档
- [OpenGLFence 总览](fence.md) - 返回类总览
- [Signal](signal.md) - 信号栅栏
- [IsSignaled](is-signaled.md) - 检查状态