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

66 lines
1.4 KiB
Markdown

# OpenGLDevice::CreateSampler
```cpp
RHISampler* CreateSampler(const SamplerDesc& desc) override
```
创建纹理采样器对象。
## 详细描述
创建配置纹理采样参数的状态对象。
### 默认采样参数
当前实现使用默认采样参数(`OpenGLSamplerDesc` 零初始化):
| 参数 | 默认值 |
|------|--------|
| 过滤模式 | 线性 |
| 地址模式 | Clamp |
| 各向异性 | 关闭 |
## 参数
- `desc` - 采样器描述符
### SamplerDesc 字段
| 字段 | 描述 |
|------|------|
| `minFilter` | 缩小过滤模式 |
| `magFilter` | 放大过滤模式 |
| `addressU/V/W` | UVW 坐标寻址模式 |
| `maxAnisotropy` | 最大各向异性级别 |
## 返回值
`RHISampler*` - 创建的采样器指针
## 注意事项
- 返回的采样器对象归调用者所有,需自行管理生命周期
- 当前实现忽略输入的 `desc`,使用默认参数
- 采样器需要绑定到纹理单元才能使用
## 示例
```cpp
SamplerDesc samplerDesc;
samplerDesc.minFilter = FilterMode::Linear;
samplerDesc.magFilter = FilterMode::Linear;
samplerDesc.addressU = AddressMode::Clamp;
samplerDesc.addressV = AddressMode::Clamp;
samplerDesc.maxAnisotropy = 16;
RHISampler* sampler = device.CreateSampler(samplerDesc);
// 绑定到纹理单元
sampler->Bind(0);
```
## 相关文档
- [OpenGLDevice](device.md) - 类总览
- [OpenGLSampler](../opengl-sampler.md) - OpenGL 采样器实现