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

49 lines
1.2 KiB
Markdown

# OpenGLSampler::Initialize
```cpp
bool Initialize(const OpenGLSamplerDesc& desc);
```
初始化采样器。创建 OpenGL 采样器对象并根据描述符设置各项参数,包括过滤模式、环绕模式、各向异性级别和 LOD 范围。
**参数:**
- `desc` - 采样器描述符,包含以下字段:
- `minFilter` - 缩小过滤模式
- `magFilter` - 放大过滤模式
- `wrapS` - S轴环绕模式
- `wrapT` - T轴环绕模式
- `wrapR` - R轴环绕模式
- `maxAnisotropy` - 各向异性级别
- `minLod` - 最小 LOD 值
- `maxLod` - 最大 LOD 值
- `compareMode` - 比较模式(当前实现未使用)
- `compareFunc` - 比较函数(当前实现未使用)
**返回:** 成功返回 `true`,失败返回 `false`
**线程安全:**
**复杂度:** O(1)
**示例:**
```cpp
OpenGLSamplerDesc desc;
desc.minFilter = SamplerFilter::LinearMipmapLinear;
desc.magFilter = SamplerFilter::Linear;
desc.wrapS = SamplerWrapMode::Repeat;
desc.wrapT = SamplerWrapMode::Repeat;
desc.maxAnisotropy = 16.0f;
desc.minLod = -1000.0f;
desc.maxLod = 1000.0f;
OpenGLSampler sampler;
if (sampler.Initialize(desc)) {
// 采样器初始化成功
}
```
## 相关文档
- [OpenGLSampler 总览](sampler.md) - 返回类总览