diff --git a/glsl/postprocess_chronoshift.frag b/glsl/postprocess_chronoshift.frag index fa0f7039fc..87f4f6b340 100644 --- a/glsl/postprocess_chronoshift.frag +++ b/glsl/postprocess_chronoshift.frag @@ -9,7 +9,7 @@ out vec4 fragColor; void main() { - vec4 c = texture(WorldTexture, gl_FragCoord.xy / textureSize(WorldTexture, 0)); + vec4 c = texelFetch(WorldTexture, ivec2(gl_FragCoord.xy), 0); float lum = 0.5 * (min(c.r, min(c.g, c.b)) + max(c.r, max(c.g, c.b))); - fragColor = vec4(lum, lum, lum, c.a) * Blend + c * (1.0 - Blend); + fragColor = mix(c, vec4(lum, lum, lum, c.a), Blend); } diff --git a/glsl/postprocess_flash.frag b/glsl/postprocess_flash.frag index e5f355d52c..4178a905c5 100644 --- a/glsl/postprocess_flash.frag +++ b/glsl/postprocess_flash.frag @@ -10,6 +10,6 @@ out vec4 fragColor; void main() { - vec4 c = texture(WorldTexture, gl_FragCoord.xy / textureSize(WorldTexture, 0)); - fragColor = vec4(Color, c.a) * Blend + c * (1.0 - Blend); + vec4 c = texelFetch(WorldTexture, ivec2(gl_FragCoord.xy), 0); + fragColor = mix(c, vec4(Color, c.a), Blend); } diff --git a/glsl/postprocess_menufade.frag b/glsl/postprocess_menufade.frag index 01e29dde8f..7edaeb7ee3 100644 --- a/glsl/postprocess_menufade.frag +++ b/glsl/postprocess_menufade.frag @@ -27,6 +27,6 @@ vec4 ColorForEffect(float effect, vec4 c) void main() { - vec4 c = texture(WorldTexture, gl_FragCoord.xy / vec2(textureSize(WorldTexture, 0))); - fragColor = ColorForEffect(From, c) * Blend + ColorForEffect(To, c) * (1.0 - Blend); + vec4 c = texelFetch(WorldTexture, ivec2(gl_FragCoord.xy), 0); + fragColor = mix(ColorForEffect(To, c), ColorForEffect(From, c), Blend); } diff --git a/glsl/postprocess_tint.frag b/glsl/postprocess_tint.frag index 901cd24bbc..43b05780d1 100644 --- a/glsl/postprocess_tint.frag +++ b/glsl/postprocess_tint.frag @@ -9,6 +9,6 @@ out vec4 fragColor; void main() { - vec4 c = texture(WorldTexture, gl_FragCoord.xy / textureSize(WorldTexture, 0)); - fragColor = vec4(min(c.r * Tint.r, 1.0), min(c.g * Tint.g, 1.0), min(c.b * Tint.b, 1.0), c.a); + vec4 c = texelFetch(WorldTexture, ivec2(gl_FragCoord.xy), 0); + fragColor = vec4(Tint, c.a) * c; }