Commit: aa0bb47576262b909183947815d7f626df82b35d
Author: Antonioya
Date:   Wed Apr 3 19:58:32 2019 +0200
Branches: master
https://developer.blender.org/rBaa0bb47576262b909183947815d7f626df82b35d

Fix T63257: Grease Pencil renders incorrectly when in edit-mode

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

M       source/blender/blenkernel/intern/gpencil_modifier.c
M       source/blender/draw/engines/gpencil/gpencil_engine.c
M       source/blender/draw/engines/gpencil/gpencil_shader_fx.c

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

diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c 
b/source/blender/blenkernel/intern/gpencil_modifier.c
index d09a914e23e..30bf30e2842 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -419,7 +419,7 @@ void BKE_gpencil_stroke_modifiers(Depsgraph *depsgraph, 
Object *ob, bGPDlayer *g
                if (GPENCIL_MODIFIER_ACTIVE(md, is_render)) {
                        const GpencilModifierTypeInfo *mti = 
BKE_gpencil_modifierType_getInfo(md->type);
 
-                       if (GPENCIL_MODIFIER_EDIT(md, is_edit)) {
+                       if ((GPENCIL_MODIFIER_EDIT(md, is_edit)) && 
(!is_render)) {
                                continue;
                        }
 
@@ -457,7 +457,7 @@ void BKE_gpencil_geometry_modifiers(Depsgraph *depsgraph, 
Object *ob, bGPDlayer
                if (GPENCIL_MODIFIER_ACTIVE(md, is_render)) {
                        const GpencilModifierTypeInfo *mti = 
BKE_gpencil_modifierType_getInfo(md->type);
 
-                       if (GPENCIL_MODIFIER_EDIT(md, is_edit)) {
+                       if ((GPENCIL_MODIFIER_EDIT(md, is_edit)) && 
(!is_render)) {
                                continue;
                        }
 
@@ -481,7 +481,7 @@ int BKE_gpencil_time_modifier(Depsgraph *depsgraph, Scene 
*scene, Object *ob,
                if (GPENCIL_MODIFIER_ACTIVE(md, is_render)) {
                        const GpencilModifierTypeInfo *mti = 
BKE_gpencil_modifierType_getInfo(md->type);
 
-                       if (GPENCIL_MODIFIER_EDIT(md, is_edit)) {
+                       if ((GPENCIL_MODIFIER_EDIT(md, is_edit)) && 
(!is_render)) {
                                continue;
                        }
 
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c 
b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 384f25ecaa5..1cc493dd8f5 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -550,7 +550,7 @@ static void gpencil_add_draw_data(void *vedata, Object *ob)
 
        if (!cache_ob->is_dup_ob) {
                /* fill shading groups */
-               if (!is_multiedit) {
+               if ((!is_multiedit) || (stl->storage->is_render)) {
                        DRW_gpencil_populate_datablock(&e_data, vedata, ob, 
cache_ob);
                }
                else {
diff --git a/source/blender/draw/engines/gpencil/gpencil_shader_fx.c 
b/source/blender/draw/engines/gpencil/gpencil_shader_fx.c
index b1bc796bfa7..1d1fe20aba9 100644
--- a/source/blender/draw/engines/gpencil/gpencil_shader_fx.c
+++ b/source/blender/draw/engines/gpencil/gpencil_shader_fx.c
@@ -58,7 +58,9 @@ static bool effect_is_active(bGPdata *gpd, ShaderFxData *fx, 
bool is_render)
        }
 
        bool is_edit = GPENCIL_ANY_EDIT_MODE(gpd);
-       if (((fx->mode & eShaderFxMode_Editmode) == 0) && (is_edit)) {
+       if (((fx->mode & eShaderFxMode_Editmode) == 0) &&
+               (is_edit) && (!is_render))
+       {
                return false;
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to