2.0 KiB
2.0 KiB
OpenGLSampler
命名空间
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 范围控制
公共方法
| 方法 | 描述 |
|---|---|
OpenGLSampler |
构造函数 |
Initialize |
初始化采样器(OpenGL 特有) |
Shutdown |
关闭采样器 |
Bind |
绑定采样器到纹理单元 |
Unbind |
解绑采样器 |
GetID |
获取采样器 ID |
GetNativeHandle |
获取原生句柄(继承自 RHISampler) |
使用示例
#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();
}
相关文档
- OpenGL 后端总览
- RHISampler - 抽象采样器接口