GPencil: Remove blend_opacity from shader

The opacity was already used and using it in the shader only duplicate the blend.
This commit is contained in:
2019-06-12 17:15:50 +02:00
parent 36faf739a7
commit e0c98e18f9
3 changed files with 7 additions and 11 deletions

View File

@@ -8,7 +8,6 @@ uniform sampler2D blendColor;
uniform sampler2D blendDepth;
uniform int mode;
uniform int clamp_layer;
uniform float blend_opacity;
uniform int tonemapping;
#define ON 1
@@ -43,34 +42,34 @@ vec4 get_blend_color(int mode, vec4 src_color, vec4 blend_color)
outcolor = src_color;
}
else if (mode == MODE_OVERLAY) {
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a * blend_opacity);
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a);
outcolor.r = overlay_color(src_color.r, mix_color.r);
outcolor.g = overlay_color(src_color.g, mix_color.g);
outcolor.b = overlay_color(src_color.b, mix_color.b);
outcolor.a = src_color.a;
}
else if (mode == MODE_ADD) {
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a * blend_opacity);
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a);
outcolor = src_color + mix_color;
outcolor.a = src_color.a;
}
else if (mode == MODE_SUB) {
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a * blend_opacity);
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a);
outcolor = src_color - mix_color;
outcolor.a = clamp(src_color.a - (mix_color.a * blend_opacity), 0.0, 1.0);
outcolor.a = clamp(src_color.a - mix_color.a, 0.0, 1.0);
}
else if (mode == MODE_MULTIPLY) {
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a * blend_opacity);
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a);
outcolor = src_color * mix_color;
outcolor.a = src_color.a;
}
else if (mode == MODE_DIVIDE) {
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a * blend_opacity);
mix_color.rgb = mix(src_color.rgb, mix_color.rgb, mix_color.a);
outcolor = src_color / mix_color;
outcolor.a = src_color.a;
}
else {
outcolor = mix_color * blend_opacity;
outcolor = mix_color;
outcolor.a = src_color.a;
}