summaryrefslogtreecommitdiff
path: root/gsk/gl/resources/cross_fade.glsl
blob: f824430f9d2a83eb8f77d342c980a045cfa031e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// VERTEX_SHADER:
void main() {
  gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);

  vUv = vec2(aUv.x, aUv.y);
}

// FRAGMENT_SHADER:
uniform float u_progress;
uniform sampler2D u_source2;

void main() {
  vec4 source1 = GskTexture(u_source, vUv);  // start child
  vec4 source2 = GskTexture(u_source2, vUv); // end child

  float p_start = (1.0 - u_progress) * u_alpha;
  float p_end = u_progress * u_alpha;
  vec4 color = (p_start * source1) + (p_end * source2);
  gskSetOutputColor(color);
}