Pārlūkot izejas kodu

Reviewed NPOT messages and usage

Ray 10 gadi atpakaļ
vecāks
revīzija
8c117cfb57
2 mainītis faili ar 13 papildinājumiem un 5 dzēšanām
  1. 1 1
      src/rlgl.c
  2. 12 4
      src/textures.c

+ 1 - 1
src/rlgl.c

@@ -1028,7 +1028,7 @@ void rlglInit(void)
     else TraceLog(WARNING, "[EXTENSION] VAO extension not found, VAO usage not supported");
     
     if (npotSupported) TraceLog(INFO, "[EXTENSION] NPOT textures extension detected, full NPOT textures supported");
-    else TraceLog(WARNING, "[EXTENSION] NPOT textures extension not found, NPOT textures not supported");
+    else TraceLog(WARNING, "[EXTENSION] NPOT textures extension not found, NPOT textures support is limited (no-mipmaps, no-repeat");
 #endif
 
     if (texCompDXTSupported) TraceLog(INFO, "[EXTENSION] DXT compressed textures supported");

+ 12 - 4
src/textures.c

@@ -324,10 +324,6 @@ Texture2D LoadTexture(const char *fileName)
 
     Image image = LoadImage(fileName);
     
-#if defined(PLATFORM_WEB)
-    ImageToPOT(&image, BLANK);
-#endif
-
     if (image.data != NULL)
     { 
         texture = LoadTextureFromImage(image);
@@ -984,7 +980,19 @@ void ImageColorBrightness(Image *image, int brightness)
 // Generate GPU mipmaps for a texture
 void GenTextureMipmaps(Texture2D texture)
 {
+#if PLATFORM_WEB
+    int potWidth = GetNextPOT(image->width);
+    int potHeight = GetNextPOT(image->height);
+
+    // Check if texture is POT
+    if ((potWidth != image->width) || (potHeight != image->height))
+    {
+        TraceLog(WARNING, "Limited NPOT support, no mipmaps available for NPOT textures");
+    }
+    else rlglGenerateMipmaps(texture.id);
+#else
     rlglGenerateMipmaps(texture.id);
+#endif
 }
 
 // Draw a Texture2D