Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2021
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1. shader_type canvas_item;
  2.  
  3. uniform vec2 uv0;
  4. uniform vec2 uv1;
  5. uniform vec2 uv2;
  6. uniform vec2 uv3;
  7. uniform vec2 uv4;
  8. uniform vec2 uv5;
  9. uniform vec2 uv6;
  10.  
  11. uniform sampler2D texture2;
  12.  
  13. uniform float smoothness = 24.0;
  14. void fragment() {
  15.     vec2 p = UV.xy;
  16.     const int num = 7;
  17.     vec2 v[7];
  18.     v[0] = uv0; v[1] = uv1; v[2] = uv2; v[3] = uv3; v[4] = uv4; v[5] = uv5; v[6] = uv6;    
  19.     float d = dot(p-v[0],p-v[0]);
  20.     float s = 1.0;
  21.     int j = num-1;
  22.     for( int i=0; i<num; i++)
  23.     {
  24.         vec2 e = v[j] - v[i];
  25.         vec2 w =    p - v[i];
  26.         vec2 b = w - e*clamp( dot(w,e)/dot(e,e), 0.0, 1.0 );
  27.         d = min( d, dot(b,b) );
  28.         j=i;
  29.     }
  30.     d = s*sqrt(d);
  31.     float alpha  = 1.0 - exp(-smoothness*abs(d));
  32.     COLOR = vec4( texture(texture2, UV).rgb*alpha + texture(TEXTURE, UV).rgb*(1.0-alpha), 1.0);
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement