Răsfoiți Sursa

Fix red textures being distorted

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Alexis Maiquez 3 ani în urmă
părinte
comite
e377960a87
1 a modificat fișierele cu 4 adăugiri și 1 ștergeri
  1. 4 1
      src/WallpaperEngine/Assets/CTexture.cpp

+ 4 - 1
src/WallpaperEngine/Assets/CTexture.cpp

@@ -42,7 +42,6 @@ CTexture::CTexture (void* fileData)
                 this->m_header->width, this->m_header->height
             };
         }
-
     }
 
     if (this->m_header->freeImageFormat != FREE_IMAGE_FORMAT::FIF_UNKNOWN)
@@ -163,7 +162,11 @@ CTexture::CTexture (void* fileData)
                 if (this->m_header->format == TextureFormat::RG88)
                     textureFormat = GL_RG;
                 else if (this->m_header->format == TextureFormat::R8)
+                {
+                    // red textures are 1-byte-per-pixel, so it's alignment has to be set manually
+                    glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
                     textureFormat = GL_RED;
+                }
             }
 
             switch (internalFormat)