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;
}
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
colorargument to the vignette function, that accepts either a HEX or a RGB(A) color.