diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java index 7749f82820..7374141f21 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/SceneUploader.java @@ -324,14 +324,14 @@ class SceneUploader if (tile.getTexture() != -1) { - float tex = tile.getTexture(); - uvBuffer.put(tex, 1.0f + 1f, 1.0f + 1f, 0f); - uvBuffer.put(tex, 0.0f + 1f, 1.0f + 1f, 0f); - uvBuffer.put(tex, 1.0f + 1f, 0.0f + 1f, 0f); + float tex = tile.getTexture() + 1f; + uvBuffer.put(tex, 1.0f, 1.0f, 0f); + uvBuffer.put(tex, 0.0f, 1.0f, 0f); + uvBuffer.put(tex, 1.0f, 0.0f, 0f); - uvBuffer.put(tex, 0.0f + 1f, 0.0f + 1f, 0f); - uvBuffer.put(tex, 1.0f + 1f, 0.0f + 1f, 0f); - uvBuffer.put(tex, 0.0f + 1f, 1.0f + 1f, 0f); + uvBuffer.put(tex, 0.0f, 0.0f, 0f); + uvBuffer.put(tex, 1.0f, 0.0f, 0f); + uvBuffer.put(tex, 0.0f, 1.0f, 0f); } return 6; @@ -396,10 +396,10 @@ class SceneUploader { if (triangleTextures[i] != -1) { - float tex = triangleTextures[i]; - uvBuffer.put(tex, vertexXA / 128f + 1f, vertexZA / 128f + 1f, 0f); - uvBuffer.put(tex, vertexXB / 128f + 1f, vertexZB / 128f + 1f, 0f); - uvBuffer.put(tex, vertexXC / 128f + 1f, vertexZC / 128f + 1f, 0f); + float tex = triangleTextures[i] + 1f; + uvBuffer.put(tex, vertexXA / 128f, vertexZA / 128f, 0f); + uvBuffer.put(tex, vertexXB / 128f, vertexZB / 128f, 0f); + uvBuffer.put(tex, vertexXC / 128f, vertexZC / 128f, 0f); } else { @@ -531,10 +531,10 @@ class SceneUploader { if (u != null && v != null && (uf = u[face]) != null && (vf = v[face]) != null) { - final short texture = faceTextures[face]; - uvBuffer.put(texture, 1f + uf[0], 1f + vf[0], 0f); - uvBuffer.put(texture, 1f + uf[1], 1f + vf[1], 0f); - uvBuffer.put(texture, 1f + uf[2], 1f + vf[2], 0f); + float texture = faceTextures[face] + 1f; + uvBuffer.put(texture, uf[0], vf[0], 0f); + uvBuffer.put(texture, uf[1], vf[1], 0f); + uvBuffer.put(texture, uf[2], vf[2], 0f); } else { diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl index 1ba7123d91..a6aeae0338 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl @@ -34,13 +34,12 @@ out vec4 FragColor; void main() { float n = fUv.x; - float u = fUv.y; - float v = fUv.z; - if (u > 0.0f && v > 0.0f) { + if (n > 0.0) { + n -= 1.0; int textureIdx = int(n); - vec2 uv = vec2(u - 1, v - 1); + vec2 uv = fUv.yz; vec2 animatedUv = uv + textureOffsets[textureIdx]; vec4 textureColor = texture(textures, vec3(animatedUv, n));