From 71df4bae3cc71d5e754f8d662d0a9ac81ea76465 Mon Sep 17 00:00:00 2001 From: BZLZHH Date: Fri, 16 May 2025 23:54:39 +0800 Subject: [PATCH] [Misc] (Texture): Start to support GL_DEPTH_COMPONENT32... --- MG/Constants.h | 6 +++--- MG/MG_GL/Implementations/GL/Drawing/GL_Drawing.cpp | 2 +- MG/MG_GL/State/Texture/TextureState.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MG/Constants.h b/MG/Constants.h index 0e921e8f..60e6df8d 100644 --- a/MG/Constants.h +++ b/MG/Constants.h @@ -131,9 +131,9 @@ namespace MG_Constants { GL_RGB32F, GL_RGB32I, GL_RGB32UI, GL_RGB16_SNORM, GL_RGB16F, GL_RGB16I, GL_RGB16UI, GL_RGB16, GL_RGB8_SNORM, GL_RGB8, GL_RGB8I, GL_RGB8UI, GL_SRGB8, GL_RGB9_E5, GL_RG16_SNORM, GL_RG8_SNORM, GL_COMPRESSED_RG_RGTC2, GL_COMPRESSED_SIGNED_RG_RGTC2, - GL_R16_SNORM, GL_R8_SNORM, GL_COMPRESSED_RED_RGTC1, GL_COMPRESSED_SIGNED_RED_RGTC1, - GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT16, GL_DEPTH32F_STENCIL8, - GL_DEPTH24_STENCIL8 + GL_R16_SNORM, GL_R8_SNORM, GL_COMPRESSED_RED_RGTC1, GL_COMPRESSED_SIGNED_RED_RGTC1, + GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT32, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT16, + GL_DEPTH32F_STENCIL8, GL_DEPTH24_STENCIL8 }; // OpenGL 3 inline const std::unordered_set VALID_TYPES = { diff --git a/MG/MG_GL/Implementations/GL/Drawing/GL_Drawing.cpp b/MG/MG_GL/Implementations/GL/Drawing/GL_Drawing.cpp index 4dc8096a..5d1c145e 100644 --- a/MG/MG_GL/Implementations/GL/Drawing/GL_Drawing.cpp +++ b/MG/MG_GL/Implementations/GL/Drawing/GL_Drawing.cpp @@ -37,7 +37,7 @@ namespace MG_GL::GL { if (outInternalFormat) *outInternalFormat = GL_DEPTH_COMPONENT32F; if (outType) - *outType = GL_UNSIGNED_INT; + *outType = GL_FLOAT; if (outFormat) *outFormat = format; break; diff --git a/MG/MG_GL/State/Texture/TextureState.cpp b/MG/MG_GL/State/Texture/TextureState.cpp index 6280e1c7..47e8f6d5 100644 --- a/MG/MG_GL/State/Texture/TextureState.cpp +++ b/MG/MG_GL/State/Texture/TextureState.cpp @@ -873,10 +873,10 @@ GLenum TextureState::CheckUploadingTexture2DValidity_(GLenum target, GLint level return GL_INVALID_OPERATION; } - bool isDepthInternal = (internalFormat == GL_DEPTH_COMPONENT32F || internalFormat == GL_DEPTH_COMPONENT24 - || internalFormat == GL_DEPTH_COMPONENT16 || internalFormat == GL_DEPTH32F_STENCIL8 - || internalFormat == GL_DEPTH24_STENCIL8 || internalFormat == GL_DEPTH_COMPONENT - || internalFormat == GL_DEPTH_STENCIL); + bool isDepthInternal = (internalFormat == GL_DEPTH_COMPONENT32 || internalFormat == GL_DEPTH_COMPONENT32F || + internalFormat == GL_DEPTH_COMPONENT24 || internalFormat == GL_DEPTH_COMPONENT16 || + internalFormat == GL_DEPTH32F_STENCIL8 || internalFormat == GL_DEPTH24_STENCIL8 || + internalFormat == GL_DEPTH_COMPONENT || internalFormat == GL_DEPTH_STENCIL); bool isDepthFormat = (format == GL_DEPTH_COMPONENT || format == GL_DEPTH_STENCIL); if (isDepthInternal != isDepthFormat) { MG_Util::Debug::LogE("MG_State: Texture: CheckUploadingTexture2DValidity_ depth internal/format mismatch");