[Bf-blender-cvs] [1616a6a57fb] soc-2019-npr: LANPR: use LANPR_LineType for duplicated style storage.

YimingWu noreply at git.blender.org
Wed Jul 24 04:56:23 CEST 2019


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. @@



More information about the Bf-blender-cvs mailing list