Ver código fonte

Use correct mode for DXT1 textures.

libsquish, which is used to generate all S3TC textures, works only with RGBA textures.

Fixes #8550.
Ferenc Arn 8 anos atrás
pai
commit
2f84731177
1 arquivos alterados com 1 adições e 1 exclusões
  1. 1 1
      drivers/gles3/rasterizer_storage_gles3.cpp

+ 1 - 1
drivers/gles3/rasterizer_storage_gles3.cpp

@@ -245,7 +245,7 @@ Image RasterizerStorageGLES3::_get_gl_image_and_format(const Image &p_image, Ima
 
 
 			if (config.s3tc_supported) {
 			if (config.s3tc_supported) {
 
 
-				r_gl_internal_format = (config.srgb_decode_supported || p_flags & VS::TEXTURE_FLAG_CONVERT_TO_LINEAR) ? _EXT_COMPRESSED_SRGB_S3TC_DXT1_NV : _EXT_COMPRESSED_RGBA_S3TC_DXT1_EXT;
+				r_gl_internal_format = (config.srgb_decode_supported || p_flags & VS::TEXTURE_FLAG_CONVERT_TO_LINEAR) ? _EXT_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV : _EXT_COMPRESSED_RGBA_S3TC_DXT1_EXT;
 				r_gl_format = GL_RGBA;
 				r_gl_format = GL_RGBA;
 				r_gl_type = GL_UNSIGNED_BYTE;
 				r_gl_type = GL_UNSIGNED_BYTE;
 				r_compressed = true;
 				r_compressed = true;