[Feat] (MG_Util/Converters, MG_State/Sampler, MG_State/Texture): properly implement min/mag/mip filters

This commit is contained in:
2025-11-17 13:40:34 +08:00
parent 8182d9e402
commit ff0a3c5b9a
8 changed files with 210 additions and 37 deletions
@@ -307,14 +307,51 @@ namespace MobileGL {
}
}
GLenum ConvertSamplerFilterModeToGLEnum(SamplerFilterMode v) {
switch (v) {
case SamplerFilterMode::Nearest:
return GL_NEAREST;
case SamplerFilterMode::Linear:
return GL_LINEAR;
default:
return GL_UNKNOWN_MGL;
// GLenum ConvertSamplerFilterModeToGLEnum(SamplerFilterMode v) {
// switch (v) {
// case SamplerFilterMode::Nearest:
// return GL_NEAREST;
// case SamplerFilterMode::Linear:
// return GL_LINEAR;
// default:
// return GL_UNKNOWN_MGL;
// }
// }
GLenum ConvertSamplerFilterModeToGLEnum(SamplerFilterMode filter, SamplerMipmapMode mipmap) {
switch (mipmap) {
case SamplerMipmapMode::None: {
switch (filter) {
case SamplerFilterMode::Nearest:
return GL_NEAREST;
case SamplerFilterMode::Linear:
return GL_LINEAR;
default:
return GL_UNKNOWN_MGL;
}
}
case SamplerMipmapMode::Nearest: {
switch (filter) {
case SamplerFilterMode::Nearest:
return GL_NEAREST_MIPMAP_NEAREST;
case SamplerFilterMode::Linear:
return GL_LINEAR_MIPMAP_NEAREST;
default:
return GL_UNKNOWN_MGL;
}
}
case SamplerMipmapMode::Linear: {
switch (filter) {
case SamplerFilterMode::Nearest:
return GL_NEAREST_MIPMAP_LINEAR;
case SamplerFilterMode::Linear:
return GL_LINEAR_MIPMAP_LINEAR;
default:
return GL_UNKNOWN_MGL;
}
}
default:
return GL_UNKNOWN_MGL;
}
}