Open
Description
I'd like to be able to apply the vignette effect in more colors than black (only black is currently supoported). Does anybody have enough webGL skills to change the vignette shader so that is supports color? I'd propose to add a 3rd color
argument to the vignette function, that accepts either a HEX or a RGB(A) color.
function vignette(size, amount /* , color */) {
gl.vignette = gl.vignette || new Shader(null, `
uniform sampler2D texture;
uniform float size;
uniform float amount;
varying vec2 texCoord;
void main() {
vec4 color = texture2D(texture, texCoord);
float dist = distance(texCoord, vec2(0.5, 0.5));
color.rgb *= smoothstep(0.8, size * 0.799, dist * (amount + size));
gl_FragColor = color;
}
`);
simpleShader.call(this, gl.vignette, {
size: clamp(0, size, 1),
amount: clamp(0, amount, 1)
});
return this;
}
Metadata
Assignees
Labels
No labels
Activity