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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user