From e8c0a474ef001caaede8e955d1f99f3d6c542e8d Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 6 Sep 2018 20:35:03 +0800 Subject: *update --- shader/metaball.shader | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 shader/metaball.shader (limited to 'shader/metaball.shader') diff --git a/shader/metaball.shader b/shader/metaball.shader new file mode 100644 index 0000000..e7e344e --- /dev/null +++ b/shader/metaball.shader @@ -0,0 +1,15 @@ +extern vec2 distortionFactor; +extern vec2 scaleFactor; +extern number feather; +vec4 effect(vec4 color, Texture tex, vec2 uv, vec2 px) { + // to barrel coordinates + uv = uv * 2.0 - vec2(1.0); + // distort + uv *= scaleFactor; + uv += (uv.yx*uv.yx) * uv * (distortionFactor - 1.0); + number mask = (1.0 - smoothstep(1.0-feather,1.0,abs(uv.x))) + * (1.0 - smoothstep(1.0-feather,1.0,abs(uv.y))); + // to cartesian coordinates + uv = (uv + vec2(1.0)) / 2.0; + return color * Texel(tex, uv) * mask; +} \ No newline at end of file -- cgit v1.1-26-g67d0