From 547e754245d003b004bc95139ffebd39a5a4dfb7 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Mon, 3 Jan 2022 02:40:03 +0100 Subject: [PATCH] textures: option to disable mipmap generation --- .../system/opengl/texture/OpenGLTextureArray.kt | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/system/opengl/texture/OpenGLTextureArray.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/system/opengl/texture/OpenGLTextureArray.kt index 24a5c30ad..16a20c03f 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/system/opengl/texture/OpenGLTextureArray.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/system/opengl/texture/OpenGLTextureArray.kt @@ -155,15 +155,12 @@ class OpenGLTextureArray( val renderData = texture.renderData as OpenGLTextureData for ((level, data) in mipMaps.withIndex()) { - if (texture.generateMipMaps) { - val size = texture.size shr level - - glTexSubImage3D(GL_TEXTURE_2D_ARRAY, level, 0, 0, renderData.index, size.x, size.y, level + 1, GL_RGBA, GL_UNSIGNED_BYTE, data) - } else { - val size = texture.size - - glTexSubImage3D(GL_TEXTURE_2D_ARRAY, level, 0, 0, renderData.index, size.x, size.y, level + 1, GL_RGBA, GL_UNSIGNED_BYTE, mipMaps[0]) + if (level > 0 && !texture.generateMipMaps) { + break } + val size = texture.size shr level + + glTexSubImage3D(GL_TEXTURE_2D_ARRAY, level, 0, 0, renderData.index, size.x, size.y, level + 1, GL_RGBA, GL_UNSIGNED_BYTE, data) } texture.data = null