[Feat] (MG_Utils/Converters): Add converters for TextureSwizzleParam.

This commit is contained in:
BZLZHH
2025-11-01 15:51:58 +08:00
parent 4d8db7fb3b
commit 5ffc4d1e2d
4 changed files with 47 additions and 7 deletions
@@ -376,5 +376,23 @@ namespace MobileGL {
}
}
TextureSwizzleParam ConvertGLEnumToTextureSwizzleParam(GLenum v) {
switch (v) {
case GL_RED:
return TextureSwizzleParam::Red;
case GL_GREEN:
return TextureSwizzleParam::Green;
case GL_BLUE:
return TextureSwizzleParam::Blue;
case GL_ALPHA:
return TextureSwizzleParam::Alpha;
case GL_ZERO:
return TextureSwizzleParam::Zero;
case GL_ONE:
return TextureSwizzleParam::One;
default:
return TextureSwizzleParam::Unknown;
}
}
} // namespace MG_Util
} // namespace MobileGL
@@ -14,5 +14,6 @@ namespace MobileGL {
SamplerWrapMode ConvertGLEnumToSamplerWrapMode(GLenum value);
SamplerCompareMode ConvertGLEnumToSamplerCompareMode(GLenum value);
SamplerCompareFunc ConvertGLEnumToSamplerCompareFunc(GLenum value);
TextureSwizzleParam ConvertGLEnumToTextureSwizzleParam(GLenum value);
} // namespace MG_Util
} // namespace MobileGL
@@ -1,4 +1,6 @@
#include "TextureEnumConverter.h"
#include "GL/gl.h"
#include "MG_Util/Types.h"
namespace MobileGL {
namespace MG_Util {
@@ -312,18 +314,18 @@ namespace MobileGL {
case SamplerFilterMode::Linear:
return GL_LINEAR;
default:
return 0;
return GL_UNKNOWN_MGL;
}
}
GLenum ConvertSamplerMipmapModeToGLEnum(SamplerMipmapMode v) {
switch (v) {
case SamplerMipmapMode::None:
return 0;
return GL_NONE;
case SamplerMipmapMode::Nearest:
return GL_NEAREST_MIPMAP_NEAREST;
default:
return 0;
return GL_UNKNOWN_MGL;
}
}
@@ -338,18 +340,18 @@ namespace MobileGL {
case SamplerWrapMode::ClampToBorder:
return GL_CLAMP_TO_BORDER;
default:
return 0;
return GL_UNKNOWN_MGL;
}
}
GLenum ConvertSamplerCompareModeToGLEnum(SamplerCompareMode v) {
switch (v) {
case SamplerCompareMode::None:
return 0;
return GL_NONE;
case SamplerCompareMode::CompareToTexture:
return GL_COMPARE_REF_TO_TEXTURE;
default:
return 0;
return GL_UNKNOWN_MGL;
}
}
@@ -372,9 +374,27 @@ namespace MobileGL {
case SamplerCompareFunc::Always:
return GL_ALWAYS;
default:
return 0;
return GL_UNKNOWN_MGL;
}
}
GLenum ConvertTextureSwizzleParamToGLEnum(TextureSwizzleParam v) {
switch (v) {
case TextureSwizzleParam::Red:
return GL_RED;
case TextureSwizzleParam::Green:
return GL_GREEN;
case TextureSwizzleParam::Blue:
return GL_BLUE;
case TextureSwizzleParam::Alpha:
return GL_ALPHA;
case TextureSwizzleParam::Zero:
return GL_ZERO;
case TextureSwizzleParam::One:
return GL_ONE;
default:
return GL_UNKNOWN_MGL;
}
}
} // namespace MG_Util
} // namespace MobileGL
@@ -14,5 +14,6 @@ namespace MobileGL {
GLenum ConvertSamplerWrapModeToGLEnum(SamplerWrapMode value);
GLenum ConvertSamplerCompareModeToGLEnum(SamplerCompareMode value);
GLenum ConvertSamplerCompareFuncToGLEnum(SamplerCompareFunc value);
GLenum ConvertTextureSwizzleParamToGLEnum(TextureSwizzleParam value);
} // namespace MG_Util
} // namespace MobileGL