[Bf-blender-cvs] [d7174b18606] soc-2019-npr: LANPR: Automatically update LANPR calculation in gp update button.

YimingWu noreply at git.blender.org
Wed Jul 3 07:45:24 CEST 2019


Commit: d7174b1860665ddaaac83c5f4c053c459c63b8c9
Author: YimingWu
Date:   Wed Jul 3 13:44:41 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBd7174b1860665ddaaac83c5f4c053c459c63b8c9

LANPR: Automatically update LANPR calculation in gp update button.

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

M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/draw/engines/lanpr/lanpr_ops.c

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

diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index c24df04e22e..b89c7e47cda 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -740,14 +740,21 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
             return;
 
         if mode == "SOFTWARE" or mode == "DPIX":
-            row=layout.row(align=True)
-            row.prop(lanpr,'auto_update',toggle=True,text='Auto Update')
-            txt = "Update" if mode == "SOFTWARE" else "Intersection Cache"
-            if not lanpr.auto_update:
-                row.operator("scene.lanpr_calculate", icon='FILE_REFRESH', text=txt)
-            layout.prop(lanpr, "disable_edge_splits")
 
-        if mode == "DPIX" or mode == "SOFTWARE":
+            if scene.render.engine!="BLENDER_LANPR":
+                row=layout.row()
+                row.operator("scene.lanpr_update_gp_strokes", icon='RENDER_STILL', text='Update GPencil Targets')
+                row=layout.row()
+                row.operator("scene.lanpr_bake_gp_strokes", icon='RENDER_ANIMATION', text='Bake All Frames')
+            else:
+                row=layout.row(align=True)
+                row.prop(lanpr,'auto_update',toggle=True,text='Auto Update')
+                txt = "Update" if mode == "SOFTWARE" else "Intersection Cache"
+                if not lanpr.auto_update:
+                    row.operator("scene.lanpr_calculate", icon='FILE_REFRESH', text=txt)
+            
+
+            layout.prop(lanpr, "disable_edge_splits")
             
             layout.prop(lanpr, "background_color")
             layout.prop(lanpr, "crease_threshold")
@@ -783,13 +790,6 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
         else:
             layout.label(text="Vectorization:")
             layout.prop(lanpr, "enable_vector_trace", expand = True)
-        
-        if mode == "SOFTWARE":
-            row=layout.row()
-            row.operator("scene.lanpr_update_gp_strokes", icon='RENDER_STILL', text='Update GPencil Targets')
-            row=layout.row()
-            row.operator("scene.lanpr_bake_gp_strokes", icon='RENDER_ANIMATION', text='Bake All Frames')
-
 
 class RENDER_PT_lanpr_line_types(RenderButtonsPanel, Panel):
     bl_label = "Layer Settings"
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
index b75301bf490..5d03c482297 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -4613,6 +4613,10 @@ int lanpr_update_gp_strokes_exec(struct bContext *C, struct wmOperator *op)
   SceneLANPR *lanpr = &scene->lanpr;
   int frame = scene->r.cfra;
 
+  if (lanpr_share.render_buffer_shared->cached_for_frame != frame) {
+    lanpr_compute_feature_lines_internal(dg, 0);
+  }
+
   lanpr_chain_clear_picked_flag(lanpr_share.render_buffer_shared);
 
   lanpr_update_gp_strokes_recursive(dg, scene->master_collection, frame);



More information about the Bf-blender-cvs mailing list