[Bf-blender-cvs] [52188606073] blender2.8: Fix issue with alpha layering for AA dot drawing

Luca Rood noreply at git.blender.org
Fri May 19 18:02:20 CEST 2017


Commit: 521886060738885427b8346812b7fcccf7057db6
Author: Luca Rood
Date:   Fri May 19 18:01:24 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB521886060738885427b8346812b7fcccf7057db6

Fix issue with alpha layering for AA dot drawing

===================================================================

M	source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl

===================================================================

diff --git a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl
index a1c1a9fa854..fef81cf58fe 100644
--- a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl
@@ -17,4 +17,8 @@ void main() {
 
 	fragColor.rgb = color.rgb;
 	fragColor.a = mix(color.a, 0.0, smoothstep(radii[1], radii[0], dist));
+
+	if (fragColor.a == 0.0) {
+		discard;
+	}
 }
diff --git a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl
index 83bdc66c4a0..eae5ee633ae 100644
--- a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl
@@ -26,6 +26,11 @@ void main() {
 		fragColor.rgb = outlineColor.rgb;
 		fragColor.a = mix(outlineColor.a, 0.0, smoothstep(radii[1], radii[0], dist));
 	}
-	else
+	else {
 		fragColor = mix(color, outlineColor, smoothstep(radii[3], radii[2], dist));
+	}
+
+	if (fragColor.a == 0.0) {
+		discard;
+	}
 }




More information about the Bf-blender-cvs mailing list