From c54a9ad621f92376cd3d9670ce09efcf4bf234bc Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Wed, 3 Oct 2012 22:43:12 +0000 Subject: [PATCH] neercs: use remanency when the colour becomes darker, but use instant updates when the colour becomes brighter. --- neercs/video/remanency.lolfx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/neercs/video/remanency.lolfx b/neercs/video/remanency.lolfx index 38e6d37..dc9fb7a 100644 --- a/neercs/video/remanency.lolfx +++ b/neercs/video/remanency.lolfx @@ -18,6 +18,13 @@ uniform vec2 mix; void main(void) { - gl_FragColor = texture2D(source,gl_TexCoord[0].xy)*mix.x+texture2D(buffer,gl_TexCoord[0].xy)*mix.y; + vec4 old_color = texture2D(buffer, gl_TexCoord[0].xy); + vec4 new_color = texture2D(source, gl_TexCoord[0].xy); + + /* The old way */ + //gl_FragColor = new_color * mix.x + old_color * mix.y; + + /* The new way: if new_color > old_color we want faster updates */ + gl_FragColor = max(new_color, new_color * mix.x + old_color * mix.y); }