1 | #ifdef GL_ES
|
2 | precision highp float;
|
3 | #endif
|
4 | uniform vec2 u_texsize;
|
5 | uniform float u_fade;
|
6 |
|
7 | uniform sampler2D u_image;
|
8 |
|
9 | varying vec2 v_pos_a;
|
10 | varying vec2 v_pos_b;
|
11 |
|
12 | #pragma mapbox: define lowp float opacity
|
13 | #pragma mapbox: define lowp vec4 pattern_from
|
14 | #pragma mapbox: define lowp vec4 pattern_to
|
15 |
|
16 | void main() {
|
17 | #pragma mapbox: initialize lowp float opacity
|
18 | #pragma mapbox: initialize mediump vec4 pattern_from
|
19 | #pragma mapbox: initialize mediump vec4 pattern_to
|
20 |
|
21 | vec2 pattern_tl_a = pattern_from.xy;
|
22 | vec2 pattern_br_a = pattern_from.zw;
|
23 | vec2 pattern_tl_b = pattern_to.xy;
|
24 | vec2 pattern_br_b = pattern_to.zw;
|
25 |
|
26 | vec2 imagecoord = mod(v_pos_a, 1.0);
|
27 | vec2 pos = mix(pattern_tl_a / u_texsize, pattern_br_a / u_texsize, imagecoord);
|
28 | vec4 color1 = texture2D(u_image, pos);
|
29 |
|
30 | vec2 imagecoord_b = mod(v_pos_b, 1.0);
|
31 | vec2 pos2 = mix(pattern_tl_b / u_texsize, pattern_br_b / u_texsize, imagecoord_b);
|
32 | vec4 color2 = texture2D(u_image, pos2);
|
33 |
|
34 | gl_FragColor = mix(color1, color2, u_fade) * opacity;
|
35 |
|
36 | #ifdef OVERDRAW_INSPECTOR
|
37 | gl_FragColor = vec4(1.0);
|
38 | #endif
|
39 | }
|