UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

24 lines (20 loc) 622 B
var composeVignettePS = ` #ifdef VIGNETTE uniform vec4 vignetterParams; float dVignette; float calcVignette(vec2 uv) { float inner = vignetterParams.x; float outer = vignetterParams.y; float curvature = vignetterParams.z; float intensity = vignetterParams.w; vec2 curve = pow(abs(uv * 2.0 -1.0), vec2(1.0 / curvature)); float edge = pow(length(curve), curvature); dVignette = 1.0 - intensity * smoothstep(inner, outer, edge); return dVignette; } vec3 applyVignette(vec3 color, vec2 uv) { return color * calcVignette(uv); } #endif `; export { composeVignettePS as default };