mirror of
https://github.com/yshui/picom.git
synced 2024-10-27 05:24:17 -04:00
81c677f28b
- Add --glx-fshader-win, which specifies a custom fragment shader for painting windows. compton-default-fshader-win.glsl is the shader with default behavior, and compton-fake-transparency-fshader-win.glsl provides a template of fake transparency. (#183) - Add --force-win-blend to force all windows to be painted with blending. - Add --no-fading-destroyed-argb, as a workaround of bugs in some WMs. (#193)
19 lines
487 B
GLSL
19 lines
487 B
GLSL
uniform float opacity;
|
|
uniform bool invert_color;
|
|
uniform sampler2D tex;
|
|
|
|
void main() {
|
|
vec4 c = texture2D(tex, gl_TexCoord[0]);
|
|
{
|
|
// Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color
|
|
vec4 vdiff = abs(vec4(1.0, 1.0, 1.0, 1.0) - c);
|
|
float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a);
|
|
// Change 0.8 to your desired opacity
|
|
if (diff < 0.001)
|
|
c *= 0.8;
|
|
}
|
|
if (invert_color)
|
|
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
|
|
c *= opacity;
|
|
gl_FragColor = c;
|
|
}
|