diff options
| author | chai <chaifix@163.com> | 2018-09-06 20:35:03 +0800 |
|---|---|---|
| committer | chai <chaifix@163.com> | 2018-09-06 20:35:03 +0800 |
| commit | e8c0a474ef001caaede8e955d1f99f3d6c542e8d (patch) | |
| tree | 9aa3f1213ebc5708bbaf96f1bc6f43125e228f85 /shader/metaball.shader | |
| parent | ab354cd16eb42e897b1b1ea09c39ddfd8b8c1ab0 (diff) | |
*update
Diffstat (limited to 'shader/metaball.shader')
| -rw-r--r-- | shader/metaball.shader | 15 |
1 files changed, 15 insertions, 0 deletions
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 |
