docs: update RHI API docs
This commit is contained in:
@@ -1,19 +1,70 @@
|
||||
# OpenGLSampler
|
||||
|
||||
**命名空间**: `XCEngine::RHI`
|
||||
## 命名空间
|
||||
|
||||
**描述**: OpenGL 采样器实现,继承自 `RHISampler`。
|
||||
`XCEngine::RHI`
|
||||
|
||||
## 头文件
|
||||
|
||||
`XCEngine/RHI/OpenGL/OpenGLSampler.h`
|
||||
|
||||
## 类型
|
||||
|
||||
| 类型 | 说明 |
|
||||
|------|------|
|
||||
| `OpenGLSampler` | OpenGL 采样器封装类,继承自 `RHISampler` |
|
||||
| `OpenGLSamplerDesc` | 采样器描述结构体 |
|
||||
| `SamplerWrapMode` | 采样器环绕模式枚举 |
|
||||
| `SamplerFilter` | 采样器滤镜模式枚举 |
|
||||
| `SamplerCompareMode` | 采样器比较模式枚举 |
|
||||
|
||||
## 描述
|
||||
|
||||
OpenGL 采样器实现,继承自 `RHISampler`。
|
||||
|
||||
## 概述
|
||||
|
||||
`OpenGLSampler` 是 RHI 抽象层对 OpenGL 纹理采样器的封装。通过 `OpenGLSamplerDesc` 配置采样参数(过滤模式、环绕模式、各向异性、LOD 等),`Initialize` 方法创建 OpenGL 采样器对象,`Bind`/`Unbind` 控制采样器与纹理单元的绑定状态。
|
||||
|
||||
**关键特性:**
|
||||
- 支持点采样、线性采样、各向异性采样
|
||||
- 支持 Repeat、Mirror、Clamp、Border 等寻址模式
|
||||
- 支持 Mipmap 多级渐远纹理过滤
|
||||
- 支持各向异性过滤和 LOD 范围控制
|
||||
|
||||
## 公共方法
|
||||
|
||||
| 方法 | 描述 |
|
||||
|------|------|
|
||||
| [`Initialize`](initialize.md) | 初始化采样器 |
|
||||
| [`Shutdown`](../../../threading/task-system/shutdown.md) | 关闭采样器 |
|
||||
| [`Bind`](bind.md) | 绑定采样器 |
|
||||
| [`OpenGLSampler`](constructor.md) | 构造函数 |
|
||||
| [`Initialize`](initialize.md) | 初始化采样器(OpenGL 特有) |
|
||||
| [`Shutdown`](shutdown.md) | 关闭采样器 |
|
||||
| [`Bind`](bind.md) | 绑定采样器到纹理单元 |
|
||||
| [`Unbind`](unbind.md) | 解绑采样器 |
|
||||
| [`GetID`](get-id.md) | 获取采样器 ID |
|
||||
| [`GetNativeHandle`](../../buffer/get-native-handle.md) | 获取原生句柄 |
|
||||
| [`GetNativeHandle`](../../sampler/get-native-handle.md) | 获取原生句柄(继承自 `RHISampler`) |
|
||||
|
||||
## 使用示例
|
||||
|
||||
```cpp
|
||||
#include "XCEngine/RHI/OpenGL/OpenGLSampler.h"
|
||||
|
||||
using namespace XCEngine::RHI;
|
||||
|
||||
OpenGLSamplerDesc desc;
|
||||
desc.minFilter = SamplerFilter::LinearMipmapLinear;
|
||||
desc.magFilter = SamplerFilter::Linear;
|
||||
desc.wrapS = SamplerWrapMode::Repeat;
|
||||
desc.wrapT = SamplerWrapMode::Repeat;
|
||||
desc.maxAnisotropy = 16.0f;
|
||||
|
||||
OpenGLSampler sampler;
|
||||
if (sampler.Initialize(desc)) {
|
||||
sampler.Bind(0);
|
||||
sampler.Unbind(0);
|
||||
sampler.Shutdown();
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
|
||||
Reference in New Issue
Block a user