|
- [vert.glsl]
-
- #version 120
-
- varying vec2 pass_TexCoord;
-
- void main()
- {
- gl_Position = gl_Vertex;
- pass_TexCoord = vec2(0.5, 0.5) + 0.5 * gl_Vertex.xy;
- }
-
- [frag.glsl]
-
- #version 120
-
- varying vec2 pass_TexCoord;
-
- uniform sampler2D source;
- uniform sampler2D buffer;
- uniform vec2 mix;
-
- void main(void)
- {
- vec4 old_color = texture2D(buffer, pass_TexCoord);
- vec4 new_color = texture2D(source, pass_TexCoord);
-
- /* 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);
- }
|