/*{ "CATEGORIES": [ "Distortion", "Dissolve" ], "CREDIT": "Automatically converted from https://www.github.com/gl-transitions/gl-transitions/tree/master/SimpleZoom.glsl", "DESCRIPTION": "", "INPUTS": [ { "NAME": "startImage", "TYPE": "image" }, { "NAME": "endImage", "TYPE": "image" }, { "DEFAULT": 0, "MAX": 1, "MIN": 0, "NAME": "progress", "TYPE": "float" }, { "DEFAULT": 0.8, "MAX": 1, "MIN": 0, "NAME": "zoom_quickness", "TYPE": "float" } ], "ISFVSN": "2" } */ vec4 getFromColor(vec2 inUV) { return IMG_NORM_PIXEL(startImage, inUV); } vec4 getToColor(vec2 inUV) { return IMG_NORM_PIXEL(endImage, inUV); } // Author: 0gust1 // License: MIT float nQuick = clamp(zoom_quickness,0.2,1.0); vec2 zoom(vec2 uv, float amount) { return 0.5 + ((uv - 0.5) * (1.0-amount)); } vec4 transition (vec2 uv) { return mix( getFromColor(zoom(uv, smoothstep(0.0, nQuick, progress))), getToColor(uv), smoothstep(nQuick-0.2, 1.0, progress) ); } void main() { gl_FragColor = transition(isf_FragNormCoord.xy); }