[Bf-blender-cvs] [d07a408a400] blender2.8: GP: Fix Front z-depth display precision

Antonioya noreply at git.blender.org
Mon Aug 6 16:12:03 CEST 2018


Commit: d07a408a400e25e2e60131bf56065901d63e728c
Author: Antonioya
Date:   Mon Aug 6 16:11:31 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBd07a408a400e25e2e60131bf56065901d63e728c

GP: Fix  Front z-depth display precision

The zdepth 0 was clipped and need 0.000001

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

M	source/blender/draw/engines/gpencil/shaders/gpencil_fill_frag.glsl
M	source/blender/draw/engines/gpencil/shaders/gpencil_point_geom.glsl
M	source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl

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

diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_fill_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_fill_frag.glsl
index 35f47d6c418..d2cad4e44f7 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_fill_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_fill_frag.glsl
@@ -129,12 +129,15 @@ void main()
 
 	/* set zdepth */
 	if (xraymode == GP_XRAY_FRONT) {
-		gl_FragDepth = 0.0;
+		gl_FragDepth = 0.000001;
 	}
-	if (xraymode == GP_XRAY_3DSPACE) {
+	else if (xraymode == GP_XRAY_3DSPACE) {
 		gl_FragDepth = gl_FragCoord.z;
 	}
-	if  (xraymode == GP_XRAY_BACK) {
+	else if  (xraymode == GP_XRAY_BACK) {
 		gl_FragDepth = 0.999999;
 	}
+	else {
+		gl_FragDepth = 0.000001;
+	}
 }
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_point_geom.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_point_geom.glsl
index f092149430c..63f22e0f812 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_point_geom.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_point_geom.glsl
@@ -26,7 +26,7 @@ vec2 toScreenSpace(vec4 vertex)
 float getZdepth(vec4 point)
 {
 	if (xraymode == GP_XRAY_FRONT) {
-		return 0.0;
+		return 0.000001;
 	}
 	if (xraymode == GP_XRAY_3DSPACE) {
 		return (point.z / point.w);
@@ -36,7 +36,7 @@ float getZdepth(vec4 point)
 	}
 
 	/* in front by default */
-	return 0.0;
+	return 0.000001;
 }
 
 vec2 rotateUV(vec2 uv, float angle)
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
index 0bcfe8cddb7..f9054b44996 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
@@ -33,7 +33,7 @@ vec2 toScreenSpace(vec4 vertex)
 float getZdepth(vec4 point)
 {
 	if (xraymode == GP_XRAY_FRONT) {
-		return 0.0;
+		return 0.000001;
 	}
 	if (xraymode == GP_XRAY_3DSPACE) {
 		return (point.z / point.w);
@@ -43,7 +43,7 @@ float getZdepth(vec4 point)
 	}
 
 	/* in front by default */
-	return 0.0;
+	return 0.000001;
 }
 void main(void)
 {



More information about the Bf-blender-cvs mailing list