X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=vignette_effect.frag;h=60d4b335858ba33a2522fce2f49db891ee68a042;hp=422b27fd654b40d646ff13af5a2af566c834a524;hb=refs%2Fheads%2Fepoxy;hpb=6eb839737216564bcaf4645b7ebf6ea9efc2da09 diff --git a/vignette_effect.frag b/vignette_effect.frag index 422b27f..60d4b33 100644 --- a/vignette_effect.frag +++ b/vignette_effect.frag @@ -1,16 +1,17 @@ // A simple, circular vignette, with a cos² falloff. -uniform float PREFIX(inv_radius); +uniform float PREFIX(pihalf_div_radius); uniform vec2 PREFIX(aspect_correction); +uniform vec2 PREFIX(flipped_center); vec4 FUNCNAME(vec2 tc) { vec4 x = INPUT(tc); const float pihalf = 0.5 * 3.14159265358979324; - vec2 normalized_pos = (tc - PREFIX(center)) * PREFIX(aspect_correction); - float dist = (length(normalized_pos) - PREFIX(inner_radius)) * PREFIX(inv_radius); - float linear_falloff = clamp(dist, 0.0, 1.0) * pihalf; + vec2 normalized_pos = (tc - PREFIX(flipped_center)) * PREFIX(aspect_correction); + float dist = (length(normalized_pos) - PREFIX(inner_radius)) * PREFIX(pihalf_div_radius); + float linear_falloff = clamp(dist, 0.0, pihalf); float falloff = cos(linear_falloff) * cos(linear_falloff); x.rgb *= vec3(falloff);