[Bf-blender-cvs] [28212da97f8] soc-2019-npr: LANPR: new layer now increase occlusion level automatically.

YimingWu noreply at git.blender.org
Thu Jul 4 08:32:18 CEST 2019


Commit: 28212da97f8406485e8262b2d0a04f3a355b3f91
Author: YimingWu
Date:   Thu Jul 4 13:41:09 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB28212da97f8406485e8262b2d0a04f3a355b3f91

LANPR: new layer now increase occlusion level automatically.

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

M	source/blender/draw/engines/lanpr/lanpr_ops.c
M	source/blender/makesdna/DNA_scene_types.h

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

diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
index e13c3f81fbd..dc5725f2083 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -4295,8 +4295,19 @@ void SCENE_OT_lanpr_calculate_feature_lines(struct wmOperatorType *ot)
 LANPR_LineLayer *lanpr_new_line_layer(SceneLANPR *lanpr)
 {
   LANPR_LineLayer *ll = MEM_callocN(sizeof(LANPR_LineLayer), "Line Layer");
-  BLI_addtail(&lanpr->line_layers, ll);
-  lanpr->active_layer = ll;
+  LANPR_LineLayer *lli;
+  int max_occ = 0, max;
+  for (lli = lanpr->line_layers.first; lli; lli = lli->next) {
+    if (lli->use_multiple_levels) {
+      max = MAX2(lli->qi_begin, lli->qi_end);
+    }
+    else {
+      max = lli->qi_begin;
+    }
+    max_occ = MAX2(max, max_occ);
+  }
+
+  ll->qi_begin = ll->qi_end = max_occ + 1;
   ll->use_same_style = 1;
   ll->thickness = 1.0f;
   ll->color[0] = 1.0f;
@@ -4308,6 +4319,10 @@ LANPR_LineLayer *lanpr_new_line_layer(SceneLANPR *lanpr)
   ll->enable_material_seperate = 1;
   ll->enable_edge_mark = 1;
   ll->enable_intersection = 1;
+
+  lanpr->active_layer = ll;
+  BLI_addtail(&lanpr->line_layers, ll);
+
   return ll;
 }
 LANPR_LineLayerComponent *lanpr_new_line_component(SceneLANPR *lanpr)
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 20c80badbcc..8f959e1e090 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1696,7 +1696,7 @@ typedef struct SceneLANPR {
   float chaining_geometry_threshold;
   float chaining_image_threshold;
 
-  int max_occlusion; /* Defaults to 1 to increase speed in complex scenes. */
+  char _pad2[4];
 
 } SceneLANPR;



More information about the Bf-blender-cvs mailing list