[Bf-blender-cvs] [427c114bc53] greasepencil-object: GPencil: Add rotation effect to Blur and change default value

Antonio Vazquez noreply at git.blender.org
Fri Feb 14 19:36:30 CET 2020


Commit: 427c114bc53d25d1c28776aa536a6bef75c6b144
Author: Antonio Vazquez
Date:   Fri Feb 14 19:36:19 2020 +0100
Branches: greasepencil-object
https://developer.blender.org/rB427c114bc53d25d1c28776aa536a6bef75c6b144

GPencil: Add rotation effect to Blur and change default value

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

M	source/blender/draw/engines/gpencil/gpencil_shader_fx.c
M	source/blender/shader_fx/intern/FX_shader_blur.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_shader_fx.c b/source/blender/draw/engines/gpencil/gpencil_shader_fx.c
index 0e1313dc86f..8db51dd9e45 100644
--- a/source/blender/draw/engines/gpencil/gpencil_shader_fx.c
+++ b/source/blender/draw/engines/gpencil/gpencil_shader_fx.c
@@ -100,6 +100,8 @@ static void gpencil_vfx_blur(BlurShaderFxData *fx, Object *ob, gpIterVfxData *it
   }
 
   DRWShadingGroup *grp;
+  const float s = sin(fx->rotation);
+  const float c = cos(fx->rotation);
 
   float winmat[4][4], persmat[4][4];
   float blur_size[2] = {fx->radius[0], fx->radius[1]};
@@ -126,13 +128,14 @@ static void gpencil_vfx_blur(BlurShaderFxData *fx, Object *ob, gpIterVfxData *it
   DRWState state = DRW_STATE_WRITE_COLOR;
   if (blur_size[0] > 0.0f) {
     grp = gpencil_vfx_pass_create("Fx Blur H", state, iter, sh);
-    DRW_shgroup_uniform_vec2_copy(grp, "offset", (float[2]){blur_size[0], 0.0f});
+    DRW_shgroup_uniform_vec2_copy(grp, "offset", (float[2]){blur_size[0] * c, blur_size[0] * s});
     DRW_shgroup_uniform_int_copy(grp, "sampCount", max_ii(1, min_ii(fx->samples, blur_size[0])));
     DRW_shgroup_call_procedural_triangles(grp, NULL, 1);
   }
   if (blur_size[1] > 0.0f) {
     grp = gpencil_vfx_pass_create("Fx Blur V", state, iter, sh);
-    DRW_shgroup_uniform_vec2_copy(grp, "offset", (float[2]){0.0f, blur_size[1]});
+    DRW_shgroup_uniform_vec2_copy(
+        grp, "offset", (float[2]){0.0f - blur_size[1] * s, blur_size[1] * c});
     DRW_shgroup_uniform_int_copy(grp, "sampCount", max_ii(1, min_ii(fx->samples, blur_size[1])));
     DRW_shgroup_call_procedural_triangles(grp, NULL, 1);
   }
diff --git a/source/blender/shader_fx/intern/FX_shader_blur.c b/source/blender/shader_fx/intern/FX_shader_blur.c
index 301eb6d375d..e98205897aa 100644
--- a/source/blender/shader_fx/intern/FX_shader_blur.c
+++ b/source/blender/shader_fx/intern/FX_shader_blur.c
@@ -31,8 +31,8 @@
 static void initData(ShaderFxData *fx)
 {
   BlurShaderFxData *gpfx = (BlurShaderFxData *)fx;
-  copy_v2_fl(gpfx->radius, 20.0f);
-  gpfx->samples = 2;
+  copy_v2_fl(gpfx->radius, 50.0f);
+  gpfx->samples = 8;
   gpfx->rotation = 0.0f;
 }



More information about the Bf-blender-cvs mailing list