Commit: 1616a6a57fb3cbccd6c2ea7383b60f5dc4812936
Author: YimingWu
Date:   Wed Jul 24 10:55:54 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB1616a6a57fb3cbccd6c2ea7383b60f5dc4812936

LANPR: use LANPR_LineType for duplicated style storage.

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

M       release/scripts/startup/bl_ui/properties_render.py
M       source/blender/draw/engines/lanpr/lanpr_cpu.c
M       source/blender/draw/engines/lanpr/lanpr_engine.c
M       source/blender/editors/lanpr/lanpr_ops.c
M       source/blender/makesdna/DNA_lanpr_types.h
M       source/blender/makesrna/intern/rna_lanpr.c

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

diff --git a/release/scripts/startup/bl_ui/properties_render.py 
b/release/scripts/startup/bl_ui/properties_render.py
index f8c790c75b4..401a2ae082e 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -833,6 +833,14 @@ class RENDER_PT_lanpr(RenderButtonsPanel, Panel):
         #    layout.label(text="Vectorization:")
         #    layout.prop(lanpr, "enable_vector_trace", expand = True)
 
+def lanpr_make_line_type(expand,layout,line_type,label):
+    layout.prop(line_type, "enabled", text=label)
+    if expand and line_type.enabled:
+        c = layout.column(align=True)
+        c.prop(line_type, "color", text="Color")
+        c.prop(line_type, "thickness", slider=True)
+
+
 class RENDER_PT_lanpr_layer_settings(RenderButtonsPanel, Panel):
     bl_label = "Layer Settings"
     bl_parent_id = "RENDER_PT_lanpr"
@@ -877,37 +885,14 @@ class RENDER_PT_lanpr_layer_settings(RenderButtonsPanel, 
Panel):
         if not expand:
             col.prop(active_layer, "color")
         col.prop(active_layer, "thickness")
-        
-        layout.prop(active_layer, "enable_contour", text="Draw Contour")
-        if expand and active_layer.enable_contour:
-            c = layout.column(align=True)
-            c.prop(active_layer, "contour_color", text="Color")
-            c.prop(active_layer, "thickness_contour", slider=True)
-
-        layout.prop(active_layer, "enable_crease", text="Draw Crease")
-        if expand and active_layer.enable_crease:
-            c = layout.column(align=True)
-            c.prop(active_layer, "contour_color", text="Color")
-            c.prop(active_layer, "thickness_contour", slider=True)
-
-        layout.prop(active_layer, "enable_edge_mark", text="Draw Mark")
-        if expand and active_layer.enable_edge_mark:
-            c = layout.column(align=True)
-            c.prop(active_layer, "edge_mark_color", text="Color")
-            c.prop(active_layer, "thickness_edge_mark", slider=True)
-
-        layout.prop(active_layer, "enable_material_seperate", text="Draw 
Material")
-        if expand and active_layer.enable_material_seperate:
-            c = layout.column(align=True)
-            c.prop(active_layer, "material_color", text="Color")
-            c.prop(active_layer, "thickness_material", slider=True)
+
+        lanpr_make_line_type(expand,layout,active_layer.contour,"Draw Contour")
+        lanpr_make_line_type(expand,layout,active_layer.crease,"Draw Crease")
+        lanpr_make_line_type(expand,layout,active_layer.edge_mark,"Draw 
EdgeMark")
+        
lanpr_make_line_type(expand,layout,active_layer.material_separate,"Draw 
Material")
 
         if lanpr.enable_intersections:
-            layout.prop(active_layer, "enable_intersection", text="Draw 
Intersection")
-            if expand and active_layer.enable_intersection:
-                c = layout.column(align=True)
-                c.prop(active_layer, "intersection_color", text="Color")
-                c.prop(active_layer, "thickness_intersection", slider=True)
+            lanpr_make_line_type(expand,layout,active_layer.intersection,"Draw 
Intersection")
         else:
             layout.label(text= "Intersection calculation disabled.")
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_cpu.c 
b/source/blender/draw/engines/lanpr/lanpr_cpu.c
index c647f49e61b..569082855af 100644
--- a/source/blender/draw/engines/lanpr/lanpr_cpu.c
+++ b/source/blender/draw/engines/lanpr/lanpr_cpu.c
@@ -77,19 +77,19 @@ void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer 
*rb, LANPR_LineLayer *
 
     GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format);
 
-    if (ll->enable_contour) {
+    if (ll->contour.enabled) {
       Count += lanpr_count_leveled_edge_segment_count(&rb->contours, ll);
     }
-    if (ll->enable_crease) {
+    if (ll->crease.enabled) {
       Count += lanpr_count_leveled_edge_segment_count(&rb->crease_lines, ll);
     }
-    if (ll->enable_intersection) {
+    if (ll->intersection.enabled) {
       Count += lanpr_count_leveled_edge_segment_count(&rb->intersection_lines, 
ll);
     }
-    if (ll->enable_edge_mark) {
+    if (ll->edge_mark.enabled) {
       Count += lanpr_count_leveled_edge_segment_count(&rb->edge_marks, ll);
     }
-    if (ll->enable_material_seperate) {
+    if (ll->material_separate.enabled) {
       Count += lanpr_count_leveled_edge_segment_count(&rb->material_lines, ll);
     }
 
@@ -104,19 +104,19 @@ void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer 
*rb, LANPR_LineLayer *
     tv = v = CreateNewBuffer(float, 6 * Count);
     tn = N = CreateNewBuffer(float, 6 * Count);
 
-    if (ll->enable_contour) {
+    if (ll->contour.enabled) {
       tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->contours, tv, tn, 
&tn, ll, 1.0f);
     }
-    if (ll->enable_crease) {
+    if (ll->crease.enabled) {
       tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->crease_lines, tv, tn, 
&tn, ll, 2.0f);
     }
-    if (ll->enable_material_seperate) {
+    if (ll->material_separate.enabled) {
       tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->material_lines, tv, 
tn, &tn, ll, 3.0f);
     }
-    if (ll->enable_edge_mark) {
+    if (ll->edge_mark.enabled) {
       tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->edge_marks, tv, tn, 
&tn, ll, 4.0f);
     }
-    if (ll->enable_intersection) {
+    if (ll->intersection.enabled) {
       tv = lanpr_make_leveled_edge_vertex_array(
           rb, &rb->intersection_lines, tv, tn, &tn, ll, 5.0f);
     }
@@ -345,52 +345,52 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb, int is_render)
 
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "contour_color",
-                                 ll->use_same_style ? ll->color : 
ll->contour_color,
+                                 ll->use_same_style ? ll->color : 
ll->contour.color,
                                  1);
         DRW_shgroup_uniform_vec4(
-            rb->ChainShgrp, "crease_color", ll->use_same_style ? ll->color : 
ll->crease_color, 1);
+            rb->ChainShgrp, "crease_color", ll->use_same_style ? ll->color : 
ll->crease.color, 1);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "material_color",
-                                 ll->use_same_style ? ll->color : 
ll->material_color,
+                                 ll->use_same_style ? ll->color : 
ll->material_separate.color,
                                  1);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "edge_mark_color",
-                                 ll->use_same_style ? ll->color : 
ll->edge_mark_color,
+                                 ll->use_same_style ? ll->color : 
ll->edge_mark.color,
                                  1);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "intersection_color",
-                                 ll->use_same_style ? ll->color : 
ll->intersection_color,
+                                 ll->use_same_style ? ll->color : 
ll->intersection.color,
                                  1);
         static float unit_thickness = 1.0f;
         DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness", &ll->thickness, 
1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_contour",
-                                  ll->use_same_style ? &unit_thickness : 
&ll->thickness_contour,
+                                  ll->use_same_style ? &unit_thickness : 
&ll->contour.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_crease",
-                                  ll->use_same_style ? &unit_thickness : 
&ll->thickness_crease,
+                                  ll->use_same_style ? &unit_thickness : 
&ll->crease.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_material",
-                                  ll->use_same_style ? &unit_thickness : 
&ll->thickness_material,
+                                  ll->use_same_style ? &unit_thickness : 
&ll->material_separate.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_edge_mark",
-                                  ll->use_same_style ? &unit_thickness : 
&ll->thickness_edge_mark,
+                                  ll->use_same_style ? &unit_thickness : 
&ll->edge_mark.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_intersection",
                                   ll->use_same_style ? &unit_thickness :
-                                                       
&ll->thickness_intersection,
+                                                       
&ll->intersection.thickness,
                                   1);
-        DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_contour", 
&ll->enable_contour, 1);
-        DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_crease", 
&ll->enable_crease, 1);
+        DRW_shgroup_uniform_int(rb->ChainShgrp, "contour.enabled", 
&ll->contour.enabled, 1);
+        DRW_shgroup_uniform_int(rb->ChainShgrp, "crease.enabled", 
&ll->crease.enabled, 1);
         DRW_shgroup_uniform_int(
-            rb->ChainShgrp, "enable_material", &ll->enable_material_seperate, 
1);
-        DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_edge_mark", 
&ll->enable_edge_mark, 1);
+            rb->ChainShgrp, "enable_material", &ll->material_separate.enabled, 
1);
+        DRW_shgroup_uniform_int(rb->ChainShgrp, "edge_mark.enabled", 
&ll->edge_mark.enabled, 1);
         DRW_shgroup_uniform_int(
-            rb->ChainShgrp, "enable_intersection", &ll->enable_intersection, 
1);
+            rb->ChainShgrp, "intersection.enabled", &ll->intersection.enabled, 
1);
 
         DRW_shgroup_uniform_int(rb->ChainShgrp, "normal_mode", 
&ll->normal_mode, 1);
         DRW_shgroup_uniform_int(
@@ -447,45 +447,45 @@ void lanpr_software_draw_scene(void *vedata, 
GPUFrameBuffer *dfb, int is_render

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to