diff --git a/src/rlgl.c b/src/rlgl.c index d632a3ac..797833e6 100644 --- a/src/rlgl.c +++ b/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"); diff --git a/src/textures.c b/src/textures.c index 96653ed3..6307702f 100644 --- a/src/textures.c +++ b/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