Commit: b5ea252ac33a59ebd264e03452f403866609aa2e
Author: YimingWu
Date:   Wed Jun 19 16:47:32 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBb5ea252ac33a59ebd264e03452f403866609aa2e

LANPR: Chaining threshold parameter. Disabled LANPR composition operators.

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

M       release/scripts/startup/bl_operators/lanpr.py
M       release/scripts/startup/bl_ui/properties_render.py
M       source/blender/blenkernel/intern/scene.c
M       source/blender/draw/engines/lanpr/lanpr_chain.c
M       source/blender/draw/engines/lanpr/lanpr_ops.c
M       source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
M       source/blender/makesdna/DNA_scene_types.h
M       source/blender/makesrna/intern/rna_scene.c

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

diff --git a/release/scripts/startup/bl_operators/lanpr.py 
b/release/scripts/startup/bl_operators/lanpr.py
index 3c5b484855e..0cef8d5e904 100644
--- a/release/scripts/startup/bl_operators/lanpr.py
+++ b/release/scripts/startup/bl_operators/lanpr.py
@@ -234,9 +234,9 @@ class LANPR_render_composited(bpy.types.Operator):
         return {'FINISHED'}
 
 classes=(
-    LANPR_make_composition_scene,
-    LANPR_remove_composition_scene,
-    LANPR_goto_original_scene,
-    LANPR_goto_composition_scene,
-    LANPR_render_composited,
+    #LANPR_make_composition_scene,
+    #LANPR_remove_composition_scene,
+    #LANPR_goto_original_scene,
+    #LANPR_goto_composition_scene,
+    #LANPR_render_composited,
 )
\ No newline at end of file
diff --git a/release/scripts/startup/bl_ui/properties_render.py 
b/release/scripts/startup/bl_ui/properties_render.py
index c22fb320e50..ab0452556fd 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -1029,6 +1029,7 @@ class 
RENDER_PT_lanpr_software_chain_styles(RenderButtonsPanel, Panel):
         layout = self.layout
         scene = context.scene
         lanpr = scene.lanpr
+        layout.prop(lanpr, "chaining_threshold")
         layout.label(text="Taper:")
         layout.prop(lanpr, "use_same_taper", expand = True)
         if lanpr.use_same_taper == "DISABLED":
diff --git a/source/blender/blenkernel/intern/scene.c 
b/source/blender/blenkernel/intern/scene.c
index cc0977d715f..eb8eedcb275 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -987,15 +987,19 @@ void BKE_scene_init(Scene *sce)
 
   sce->lanpr.enable_intersections = 1;
 
-  sce->lanpr.background_color[0] = 0.76;
-  sce->lanpr.background_color[1] = 0.54;
-  sce->lanpr.background_color[2] = 0.29;
+  sce->lanpr.background_color[0] = 0;
+  sce->lanpr.background_color[1] = 0;
+  sce->lanpr.background_color[2] = 0;
   sce->lanpr.background_color[3] = 1;
 
-  sce->lanpr.line_color[0] = 0.39;
-  sce->lanpr.line_color[1] = 0.12;
-  sce->lanpr.line_color[2] = 0.04;
+  sce->lanpr.line_color[0] = 1;
+  sce->lanpr.line_color[1] = 1;
+  sce->lanpr.line_color[2] = 1;
   sce->lanpr.line_color[3] = 1;
+
+  sce->lanpr.enable_intersections = 1;
+  sce->lanpr.enable_chaining = 1;
+  sce->lanpr.chaining_threshold = 0.01;
 }
 
 Scene *BKE_scene_add(Main *bmain, const char *name)
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c 
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 7c4da87b422..5dfad61089f 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -195,7 +195,7 @@ void 
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain *rlc,
   }
 }
 
-void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float 
dist_threshold)
+void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb)
 {
   LANPR_RenderLineChain *rlc;
   LANPR_RenderLineChainItem *rlci;
@@ -412,16 +412,6 @@ void 
lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
       }
       ba = lanpr_get_point_bounding_area(rb, new_rv->fbcoord[0], 
new_rv->fbcoord[1]);
     }
-
-    // LANPR_RenderLineChainItem* rlci;
-    // printf("line:\n");
-    // for (rlci = rlc->chain.first; rlci; rlci = rlci->item.next) {
-    // printf("  %f,%f %d\n", rlci->pos[0],rlci->pos[1], rlci->occlusion);
-    //}
-    // printf("--------\n");
-
-    // lanpr_reduce_render_line_chain_recursive(rlc,rlc->chain.first, 
rlc->chain.last,
-    // dist_threshold);
   }
 }
 
@@ -623,7 +613,7 @@ void lanpr_connect_chains_image_space(LANPR_RenderBuffer 
*rb)
           dist = new_len;
         }
       }
-      if (dist < 0.01f && closest_cre) {
+      if (dist < rb->scene->lanpr.chaining_threshold && closest_cre) {
         closest_cre->picked = 1;
         closest_cre->rlc->picked = 1;
         BLI_remlink(&ba->linked_chains, cre);
@@ -662,7 +652,7 @@ void lanpr_connect_chains_image_space(LANPR_RenderBuffer 
*rb)
           dist = new_len;
         }
       }
-      if (dist < 0.01f && closest_cre) {
+      if (dist < rb->scene->lanpr.chaining_threshold && closest_cre) {
         closest_cre->picked = 1;
         closest_cre->rlc->picked = 1;
         BLI_remlink(&ba->linked_chains, cre);
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c 
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 94dc09a77e4..2324f50d83d 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3721,7 +3721,7 @@ void lanpr_viewport_draw_offline_result(LANPR_TextureList 
*txl,
   DRW_multisamples_resolve(txl->depth, txl->color, 1);
 }
 
-void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float 
dist_threshold);
+void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb);
 void lanpr_split_chains_for_fixed_occlusion(LANPR_RenderBuffer *rb);
 void lanpr_connect_chains_image_space(LANPR_RenderBuffer *rb);
 
@@ -3972,7 +3972,7 @@ int lanpr_compute_feature_lines_internal(Depsgraph 
*depsgraph, SceneLANPR *lanpr
   lanpr_THREAD_calculate_line_occlusion_begin(rb);
 
   if (lanpr->enable_chaining) {
-    lanpr_NO_THREAD_chain_feature_lines(rb, 0.00001);  // should use 
user_adjustable value
+    lanpr_NO_THREAD_chain_feature_lines(rb);  // should use user_adjustable 
value
     lanpr_split_chains_for_fixed_occlusion(rb);
     lanpr_connect_chains_image_space(rb);
   }
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c 
b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
index 75707792f53..c3d4f930c88 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilstroke.c
@@ -84,7 +84,6 @@ static void copyData(const GpencilModifierData *md, 
GpencilModifierData *target)
 static void deformStroke(
     GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, 
bGPDframe *gpf)
 {
-  lanpr_update_data_for_external(depsgraph);
   lanpr_generate_gpencil_from_chain(md, depsgraph, ob, gpl, gpf);
 }
 
@@ -96,6 +95,8 @@ static void bakeModifier(Main *UNUSED(bmain),
 
   bGPdata *gpd = ob->data;
 
+  lanpr_update_data_for_external(depsgraph);
+
   for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
     for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
       deformStroke(md, depsgraph, ob, gpl, gpf);
@@ -109,6 +110,7 @@ static void bakeModifier(Main *UNUSED(bmain),
 static void generateStrokes(
     GpencilModifierData *md, Depsgraph *depsgraph, Object *ob, bGPDlayer *gpl, 
bGPDframe *gpf)
 {
+  lanpr_update_data_for_external(depsgraph);
   deformStroke(md, depsgraph, ob, gpl, gpf);
 }
 
diff --git a/source/blender/makesdna/DNA_scene_types.h 
b/source/blender/makesdna/DNA_scene_types.h
index c05ed05ff77..b8ae5601998 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1686,15 +1686,17 @@ typedef struct SceneLANPR {
   ListBase line_layers; /* now here!!! */
   struct LANPR_LineLayer *active_layer;
 
-  int enable_intersections;
-  int enable_chaining;
+  char enable_intersections;
+  char enable_chaining;
+  char enable_chain_connection;
+  char _pad1;
+  float chaining_threshold;
 
   /* composite utility */
   int composite_render_animation;
 
-  int _pad1;
+  int _pad2;
   
-
 } SceneLANPR;
 
 /* *************************************************************** */
diff --git a/source/blender/makesrna/intern/rna_scene.c 
b/source/blender/makesrna/intern/rna_scene.c
index d6620a03cd8..b8062e13cc2 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -7354,14 +7354,14 @@ static void rna_def_scene_lanpr(BlenderRNA *brna)
   RNA_def_property_boolean_default(prop, 1);
   RNA_def_property_ui_text(prop, "Enable Chaining", "Chain Feature Lines After 
Occlusion Test");
 
-  /* composition */
+  prop = RNA_def_property(srna, "enable_chain_connection", PROP_BOOLEAN, 
PROP_NONE);
+  RNA_def_property_boolean_default(prop, 1);
+  RNA_def_property_ui_text(prop, "Enable Chain Connection", "Connect short 
chains in the image space into one longer chain");
 
-  prop = RNA_def_property(srna, "composite_render_animation", PROP_BOOLEAN, 
PROP_NONE);
-  RNA_def_property_boolean_default(prop, 0);
-  RNA_def_property_ui_text(
-      prop,
-      "Composition Render Animation",
-      "Re-render backdrop and LANPR layer to produce animation(image sequence 
only).");
+  prop = RNA_def_property(srna, "chaining_threshold", PROP_FLOAT, PROP_NONE);
+  RNA_def_property_float_default(prop, 0.01f);
+  RNA_def_property_ui_text(prop, "Threshold", "Segments where distance between 
them lower than this value will be chained together");
+  RNA_def_property_ui_range(prop, 0.0f, 0.02f, 0.001, 3);
 
   /* here's the collection stuff.... */

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to