opengl: don't set buffer limit to 0 when uploading texture buffer

That fixes uploading skins when the skin is present twice. Fixes GH-23
This commit is contained in:
Moritz Zwerger 2023-12-10 15:18:17 +01:00
parent a1573d9ad7
commit bb9bafb778
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 4 additions and 2 deletions

View File

@ -63,7 +63,8 @@ class OpenGLTextureArray(
val renderData = texture.renderData as OpenGLTextureData
for ((level, buffer) in texture.data.collect().withIndex()) {
if (level > this.mipmaps) break
buffer.data.flip()
buffer.data.position(0)
buffer.data.limit(buffer.data.capacity())
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, level, 0, 0, renderData.index, buffer.size.x, buffer.size.y, 1, buffer.glFormat, buffer.glType, buffer.data)
}

View File

@ -67,7 +67,8 @@ class OpenGLDynamicTextureArray(
// clear first
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, level, 0, 0, index, resolution shr level, resolution shr level, 1, GL_RGBA, GL_UNSIGNED_BYTE, empty)
}
buffer.data.flip()
buffer.data.position(0)
buffer.data.limit(buffer.data.capacity())
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, level, 0, 0, index, buffer.size.x, buffer.size.y, 1, buffer.glFormat, buffer.glType, buffer.data)
}
}