From 0a3795ddfc8fcbcf1aaf05bf361550d3da04fb37 Mon Sep 17 00:00:00 2001 From: bullno1 Date: Wed, 13 May 2015 03:04:57 +0800 Subject: [PATCH] Fix color texture format detection for webgl and gles < 3.0 --- src/renderer_gl.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 343d87ca..b22a4ba6 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -1268,6 +1268,12 @@ namespace bgfx { namespace gl if (BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGLES < 30) ) { setTextureFormat(TextureFormat::RGBA16F, GL_RGBA, GL_RGBA, GL_HALF_FLOAT); + // internalFormat and format must match: + // https://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml + setTextureFormat(TextureFormat::RGBA8, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE); + setTextureFormat(TextureFormat::R5G6B5, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5); + setTextureFormat(TextureFormat::RGBA4, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4); + setTextureFormat(TextureFormat::RGB5A1, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1); if (s_extension[Extension::OES_texture_half_float].m_supported || s_extension[Extension::OES_texture_float ].m_supported) @@ -1346,7 +1352,7 @@ namespace bgfx { namespace gl s_textureFormat[TextureFormat::R8].m_fmt = GL_LUMINANCE; } - if (!BX_ENABLED(BX_PLATFORM_EMSCRIPTEN) ) + //if (!BX_ENABLED(BX_PLATFORM_EMSCRIPTEN) ) { for (uint32_t ii = 0; ii < TextureFormat::Count; ++ii) {