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

1.2 KiB

OpenGLSampler::Initialize

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)

示例:

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)) {
    // 采样器初始化成功
}

相关文档