[Feat] (MG_State/TextureState): Add more TextureUploadTarget.

This commit is contained in:
BZLZHH
2025-11-28 21:37:47 +08:00
parent 657c672899
commit e72bdb67b5
6 changed files with 72 additions and 13 deletions
@@ -1,4 +1,5 @@
#include "TextureEnumConverter.h"
#include "GL/glext.h"
#include "MG_Util/Converters/GLToStr/GLEnumConverter.h"
namespace MobileGL {
@@ -290,6 +291,14 @@ namespace MobileGL {
return TextureUploadTarget::Texture1DArray;
case GL_PROXY_TEXTURE_1D_ARRAY:
return TextureUploadTarget::ProxyTexture1DArray;
case GL_TEXTURE_2D_ARRAY:
return TextureUploadTarget::Texture2DArray;
case GL_TEXTURE_CUBE_MAP_ARRAY:
return TextureUploadTarget::CubeMapArray;
case GL_PROXY_TEXTURE_CUBE_MAP_ARRAY:
return TextureUploadTarget::ProxyCubeMapArray;
case GL_PROXY_TEXTURE_2D_ARRAY:
return TextureUploadTarget::ProxyTexture2DArray;
case GL_TEXTURE_RECTANGLE:
return TextureUploadTarget::TextureRectangle;
case GL_PROXY_TEXTURE_RECTANGLE:
@@ -312,6 +321,10 @@ namespace MobileGL {
return TextureUploadTarget::Texture2DMultisample;
case GL_PROXY_TEXTURE_2D_MULTISAMPLE:
return TextureUploadTarget::ProxyTexture2DMultisample;
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
return TextureUploadTarget::Texture2DMultisampleArray;
case GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY:
return TextureUploadTarget::ProxyTexture2DMultisampleArray;
default:
return TextureUploadTarget::Unknown;
}
@@ -306,22 +306,23 @@ namespace MobileGL {
return GL_TEXTURE_2D_MULTISAMPLE;
case TextureUploadTarget::ProxyTexture2DMultisample:
return GL_PROXY_TEXTURE_2D_MULTISAMPLE;
case TextureUploadTarget::CubeMapArray:
return GL_TEXTURE_CUBE_MAP_ARRAY;
case TextureUploadTarget::ProxyCubeMapArray:
return GL_PROXY_TEXTURE_CUBE_MAP_ARRAY;
case TextureUploadTarget::Texture2DArray:
return GL_TEXTURE_2D_ARRAY;
case TextureUploadTarget::ProxyTexture2DArray:
return GL_PROXY_TEXTURE_2D_ARRAY;
case TextureUploadTarget::Texture2DMultisampleArray:
return GL_TEXTURE_2D_MULTISAMPLE_ARRAY;
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
return GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY;
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: {
@@ -20,10 +20,24 @@ namespace MobileGL {
case TextureUploadTarget::CubeMapPositiveZ:
case TextureUploadTarget::CubeMapNegativeZ:
case TextureUploadTarget::ProxyCubeMap:
case TextureUploadTarget::CubeMapArray:
case TextureUploadTarget::ProxyCubeMapArray:
return TextureTarget::TextureCubeMap;
case TextureUploadTarget::Texture2DMultisample:
case TextureUploadTarget::ProxyTexture2DMultisample:
return TextureTarget::Texture2DMultisample;
case TextureUploadTarget::Texture2DMultisampleArray:
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
return TextureTarget::Texture2DMultisampleArray;
case TextureUploadTarget::Texture3D:
case TextureUploadTarget::ProxyTexture3D:
return TextureTarget::Texture3D;
case TextureUploadTarget::Texture1D:
case TextureUploadTarget::ProxyTexture1D:
return TextureTarget::Texture1D;
case TextureUploadTarget::Texture2DArray:
case TextureUploadTarget::ProxyTexture2DArray:
return TextureTarget::Texture2DArray;
default:
return TextureTarget::Unknown;
}
@@ -296,6 +296,26 @@ namespace MobileGL {
return "Texture2DMultisample";
case TextureUploadTarget::ProxyTexture2DMultisample:
return "ProxyTexture2DMultisample";
case TextureUploadTarget::CubeMapArray:
return "CubeMapArray";
case TextureUploadTarget::ProxyCubeMapArray:
return "ProxyCubeMapArray";
case TextureUploadTarget::Texture3D:
return "Texture3D";
case TextureUploadTarget::ProxyTexture3D:
return "ProxyTexture3D";
case TextureUploadTarget::Texture1D:
return "Texture1D";
case TextureUploadTarget::ProxyTexture1D:
return "ProxyTexture1D";
case TextureUploadTarget::Texture2DArray:
return "Texture2DArray";
case TextureUploadTarget::ProxyTexture2DArray:
return "ProxyTexture2DArray";
case TextureUploadTarget::Texture2DMultisampleArray:
return "Texture2DMultisampleArray";
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
return "ProxyTexture2DMultisampleArray";
default:
return "Unknown";
}