Files
XCEngine/docs/api/rhi/opengl/fence/fence.md
ssdfasd 10ee1fa3fa docs: 更新 audioclip 和 audio-source-component 文档
- audioclip: 新增 set 方法文档
- audio-source-component: 新增 set-output-mixer 文档
2026-03-26 02:04:27 +08:00

45 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenGLFence
**命名空间**: `XCEngine::RHI`
**描述**: OpenGL 栅栏同步实现,继承自 `RHIFence`。使用 OpenGL `GLsync` 对象实现 CPU-GPU 同步机制。
## 概述
`OpenGLFence` 提供基于 OpenGL 同步对象(`GLsync`)的栅栏实现,用于 CPU-GPU 同步。当 GPU 完成特定操作后,栅栏会被设置为 signaled 状态CPU 可以通过 `Wait` 方法等待该状态。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`OpenGLFence`](../../../threading/lambda-task/constructor.md) | 构造函数 |
| [`Initialize`](initialize.md) | 初始化栅栏,设置初始值 |
| [`Shutdown`](shutdown.md) | 关闭栅栏,释放 GLsync 资源 |
| [`Signal`](signal.md) | 信号栅栏(重载:有无参数版本) |
| [`Wait`](wait.md) | 等待栅栏达到指定值 |
| [`GetCompletedValue`](get-completed-value.md) | 获取已完成的栅栏值 |
| [`GetNativeHandle`](get-native-handle.md) | 获取原生 GLsync 句柄 |
## 使用示例
```cpp
#include "XCEngine/RHI/OpenGL/OpenGLFence.h"
using namespace XCEngine::RHI;
// 创建并初始化栅栏
OpenGLFence fence;
fence.Initialize(0);
// 执行 GPU 操作后信号栅栏
fence.Signal();
// 等待栅栏,最多等待 1 秒
fence.Wait(1);
```
## 相关文档
- [OpenGL 后端总览](../opengl.md)
- [RHIFence](../../fence/fence.md) - 抽象栅栏接口