[Bf-blender-cvs] [0d7fe55d0e7] blender2.8: GP: Improve z-depth for Blur FX

Antonioya noreply at git.blender.org
Tue Dec 18 22:56:50 CET 2018


Commit: 0d7fe55d0e76abd3c3bdac4af224ee7393b1cdb7
Author: Antonioya
Date:   Tue Dec 18 22:54:53 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB0d7fe55d0e76abd3c3bdac4af224ee7393b1cdb7

GP: Improve z-depth for Blur FX

Instead to get an average value, use the lower value.

Still some issues when render.

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

M	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl

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

diff --git a/source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl b/source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl
index e59cbef3e5d..cd348a477a1 100644
--- a/source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl
@@ -45,20 +45,16 @@ void main()
 
 	/* apply blurring, using a 9-tap filter with predefined gaussian weights */
 	/* depth (get the value of the surrounding pixels) */
-    float outdepth = 0.0;
-
-    outdepth += get_zdepth(ivec2(uv.x - 1.0 * dx, uv.y + 1.0 * dy)) * 0.0947416;
-    outdepth += get_zdepth(ivec2(uv.x - 0.0 * dx, uv.y + 1.0 * dy)) * 0.118318;
-    outdepth += get_zdepth(ivec2(uv.x + 1.0 * dx, uv.y + 1.0 * dy)) * 0.0947416;
-    outdepth += get_zdepth(ivec2(uv.x - 1.0 * dx, uv.y + 0.0 * dy)) * 0.118318;
-
-    outdepth += get_zdepth(ivec2(uv.x, uv.y)) * 0.147761;
-
-    outdepth += get_zdepth(ivec2(uv.x + 1.0 * dx, uv.y + 0.0 * dy)) * 0.118318;
-    outdepth += get_zdepth(ivec2(uv.x - 1.0 * dx, uv.y - 1.0 * dy)) * 0.0947416;
-    outdepth += get_zdepth(ivec2(uv.x + 0.0 * dx, uv.y - 1.0 * dy)) * 0.118318;
-    outdepth += get_zdepth(ivec2(uv.x + 1.0 * dx, uv.y - 1.0 * dy)) * 0.0947416;
-
+    float outdepth = get_zdepth(ivec2(uv.x, uv.y));
+	for (int x = -1; x < 2; x++) {
+		for (int y = -1; y < 2; y++) {
+			float depth = get_zdepth(ivec2(uv.x + x * dx, uv.y + y * dy));
+			if (depth < outdepth) {
+				outdepth = depth;
+				break;
+			}
+		}
+	}
     gl_FragDepth = outdepth;
 
 	/* color */



More information about the Bf-blender-cvs mailing list