Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl')
-rw-r--r--source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl19
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl
index 73baacb35d4..0f1665b73c2 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl
@@ -8,6 +8,12 @@ uniform vec4 colormix;
uniform float mix_stroke_factor;
uniform int shading_type[2];
+uniform int fade_layer;
+uniform float fade_layer_factor;
+uniform bool fade_ob;
+uniform vec3 fade_color;
+uniform float fade_ob_factor;
+
in vec4 mColor;
in vec2 mTexCoord;
in vec2 uvfac;
@@ -88,4 +94,17 @@ void main()
if (fragColor.a < 0.0035) {
discard;
}
+
+ /* Apply paper opacity */
+ if (fade_layer == 1) {
+ /* Layer is below, mix with background. */
+ fragColor.rgb = mix(fade_color.rgb, fragColor.rgb, fade_layer_factor);
+ }
+ else if (fade_layer == 2) {
+ /* Layer is above, change opacity. */
+ fragColor.a *= fade_layer_factor;
+ }
+ else if (fade_ob == true) {
+ fragColor.rgb = mix(fade_color.rgb, fragColor.rgb, fade_ob_factor);
+ }
}