Spaces:
Sleeping
Sleeping
nova-header-nav / node_modules /@plotly /mapbox-gl /src /shaders /fill_outline_pattern.fragment.glsl
| uniform vec2 u_texsize; | |
| uniform sampler2D u_image; | |
| uniform float u_fade; | |
| varying vec2 v_pos_a; | |
| varying vec2 v_pos_b; | |
| varying vec2 v_pos; | |
| void main() { | |
| vec2 pattern_tl_a = pattern_from.xy; | |
| vec2 pattern_br_a = pattern_from.zw; | |
| vec2 pattern_tl_b = pattern_to.xy; | |
| vec2 pattern_br_b = pattern_to.zw; | |
| vec2 imagecoord = mod(v_pos_a, 1.0); | |
| vec2 pos = mix(pattern_tl_a / u_texsize, pattern_br_a / u_texsize, imagecoord); | |
| vec4 color1 = texture2D(u_image, pos); | |
| vec2 imagecoord_b = mod(v_pos_b, 1.0); | |
| vec2 pos2 = mix(pattern_tl_b / u_texsize, pattern_br_b / u_texsize, imagecoord_b); | |
| vec4 color2 = texture2D(u_image, pos2); | |
| // find distance to outline for alpha interpolation | |
| float dist = length(v_pos - gl_FragCoord.xy); | |
| float alpha = 1.0 - smoothstep(0.0, 1.0, dist); | |
| gl_FragColor = mix(color1, color2, u_fade) * alpha * opacity; | |
| gl_FragColor = vec4(1.0); | |
| } | |