Fixed broken references: - texture-import-settings: Fix 16 files referencing wrong overview filename - math/rectint: Fix 9 method links (rectint-* → get*, contains, intersects) - rhi/opengl/device: Fix 8 cross-references (opengl-* → */**) - resources/mesh: Fix meshsection and vertexattribute links - rhi/d3d12/sampler: Fix RHISampler reference path - math/vector3: Fix projectonplane → project-on-plane - rhi/opengl/command-list: Remove broken ClearFlag enum ref - rhi/opengl/device: Create 2 new method docs (MakeContextCurrent, GetNativeContext) - rhi/device: Fix device-info types reference All 0 broken references remaining.
1.0 KiB
1.0 KiB
OpenGLDevice::CreateFence
RHIFence* CreateFence(const FenceDesc& desc) override
创建同步栅栏对象。
详细描述
创建用于 GPU/CPU 同步的栅栏对象。
FenceDesc 字段
| 字段 | 描述 |
|---|---|
initialValue |
初始值(0=未 signaled, >0=signaled) |
行为
initialValue > 0: 创建时栅栏处于 signaled 状态initialValue == 0: 创建时栅栏处于未 signaled 状态
参数
desc- 栅栏描述符
返回值
RHIFence* - 创建的栅栏指针
注意事项
- 返回的栅栏对象归调用者所有,需自行管理生命周期
- 栅栏用于同步 GPU 命令执行和 CPU 代码执行
示例
FenceDesc fenceDesc;
fenceDesc.initialValue = 0;
RHIFence* fence = device.CreateFence(fenceDesc);
// 等待栅栏
while (!fence->IsSignaled()) {
// 等待或做其他工作
}
// GPU 命令完成,栅栏 signaled
相关文档
- OpenGLDevice - 类总览
- OpenGLFence - OpenGL 栅栏实现