13 lines
464 B
GLSL
13 lines
464 B
GLSL
|
|
vec3 vignette(const vec3 color, const highp vec2 uv, const vec4 vignette, const vec4 vignetteColor) {
|
|
float midPoint = vignette.x;
|
|
float radius = vignette.y;
|
|
float aspect = vignette.z;
|
|
float feather = vignette.w;
|
|
vec2 distance = abs(uv - 0.5) * midPoint;
|
|
distance.x *= aspect;
|
|
distance = pow(saturate(distance), vec2(radius));
|
|
float amount = pow(saturate(1.0 - dot(distance, distance)), feather * 5.0);
|
|
return color * mix(vignetteColor.rgb, vec3(1.0), amount);
|
|
}
|