uniform shader image; uniform float2 imageSize; uniform float offset; uniform float darkness; half4 main(float2 coord) { float4 texel = unpremul(image.eval(coord)); float2 uv = coord / imageSize; uv = (uv - float2(0.5)) * float2(offset); float4 color = float4(mix(texel.rgb, float3(1.0 - darkness), dot(uv, uv)), texel.a); color.rgb *= color.a; return color; }