[Bf-blender-cvs] [45074ae36f3] soc-2019-npr: LANPR: use "master style" instead of following contour style.

YimingWu noreply at git.blender.org
Mon Jun 24 03:25:19 CEST 2019


Commit: 45074ae36f38c3eeb8d0a0516f214322f6a93a4b
Author: YimingWu
Date:   Mon Jun 24 09:23:50 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB45074ae36f38c3eeb8d0a0516f214322f6a93a4b

LANPR: use "master style" instead of following contour style.

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

M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/draw/engines/lanpr/lanpr_engine.c
M	source/blender/draw/engines/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 ab0452556fd..75412dd46c8 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -813,7 +813,7 @@ class RENDER_PT_lanpr_line_types(RenderButtonsPanel, Panel):
             row.prop(active_layer, "enable_material_seperate", text="Material", toggle=True)
             row.prop(active_layer, "enable_intersection", text="Intersection", toggle=True)
         else:
-            layout.operator("scene.lanpr_enable_all_line_types",text='Set All')
+            row.prop(active_layer, "thickness", text="")
             split = layout.split(factor=0.3)
             col = split.column()
             col.prop(active_layer, "enable_contour", text="Contour", toggle=True)
@@ -824,25 +824,25 @@ class RENDER_PT_lanpr_line_types(RenderButtonsPanel, Panel):
             col = split.column()
             row = col.row(align = True)
             #row.enabled = active_layer.enable_contour this is always enabled now
-            row.prop(active_layer, "color", text="")
-            row.prop(active_layer, "thickness", text="")
+            row.prop(active_layer, "contour_color", text="")
+            row.prop(active_layer, "thickness_contour", text="", slider=True)
             row = col.row(align = True)
             row.enabled = active_layer.enable_crease
             row.prop(active_layer, "crease_color", text="")
-            row.prop(active_layer, "thickness_crease", text="")
+            row.prop(active_layer, "thickness_crease", text="", slider=True)
             row = col.row(align = True)
             row.enabled = active_layer.enable_edge_mark
-            row.prop(active_layer, "crease_color", text="")
-            row.prop(active_layer, "thickness_edge_mark", text="")
+            row.prop(active_layer, "edge_mark_color", text="")
+            row.prop(active_layer, "thickness_edge_mark", text="", slider=True)
             row = col.row(align = True)
             row.enabled = active_layer.enable_material_seperate
             row.prop(active_layer, "material_color", text="")
-            row.prop(active_layer, "thickness_material", text="")
+            row.prop(active_layer, "thickness_material", text="", slider=True)
             row = col.row(align = True)
             if lanpr.enable_intersections:
                 row.enabled = active_layer.enable_intersection
                 row.prop(active_layer, "intersection_color", text="")
-                row.prop(active_layer, "thickness_intersection", text="")
+                row.prop(active_layer, "thickness_intersection", text="", slider=True)
             else:
                 row.label(text= "Intersection Calculation Disabled")
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index f588e87a0b3..2c4ac186aa5 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -311,14 +311,14 @@ static void lanpr_cache_init(void *vedata)
         stl->g_data->dpix_preview_shgrp, "edge_mask_tex", &txl->dpix_in_edge_mask);
     DRW_shgroup_uniform_vec4(
         stl->g_data->dpix_preview_shgrp, "viewport", stl->g_data->dpix_viewport, 1);
-    DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, "color", ll->color, 1);
-    DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, "crease_color", ll->crease_color, 1);
+    DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, "color", ll->use_same_style?ll->color:ll->contour_color, 1);
+    DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, "crease_color", ll->use_same_style?ll->color:ll->crease_color, 1);
     DRW_shgroup_uniform_vec4(
-        stl->g_data->dpix_preview_shgrp, "material_color", ll->material_color, 1);
+        stl->g_data->dpix_preview_shgrp, "material_color", ll->use_same_style?ll->color:ll->material_color, 1);
     DRW_shgroup_uniform_vec4(
-        stl->g_data->dpix_preview_shgrp, "edge_mark_color", ll->edge_mark_color, 1);
+        stl->g_data->dpix_preview_shgrp, "edge_mark_color", ll->use_same_style?ll->color:ll->edge_mark_color, 1);
     DRW_shgroup_uniform_vec4(
-        stl->g_data->dpix_preview_shgrp, "intersection_color", ll->intersection_color, 1);
+        stl->g_data->dpix_preview_shgrp, "intersection_color", ll->use_same_style?ll->color:ll->intersection_color, 1);
     DRW_shgroup_uniform_vec4(
         stl->g_data->dpix_preview_shgrp, "background_color", lanpr->background_color, 1);
     // DRW_shgroup_uniform_vec4(stl->g_data->dpix_preview_shgrp, "line_color", ll->line_color, 1);
@@ -337,17 +337,18 @@ static void lanpr_cache_init(void *vedata)
                               1);
     DRW_shgroup_uniform_float(
         stl->g_data->dpix_preview_shgrp, "depth_alpha_curve", &lanpr->depth_alpha_curve, 1);
+    static float unit_thickness=1.0f;
     DRW_shgroup_uniform_float(
-        stl->g_data->dpix_preview_shgrp, "line_thickness", &ll->thickness, 1);
+        stl->g_data->dpix_preview_shgrp, "line_thickness", ll->use_same_style?&ll->thickness:&ll->thickness_contour, 1);
     DRW_shgroup_uniform_float(
-        stl->g_data->dpix_preview_shgrp, "line_thickness_crease", &ll->thickness_crease, 1);
+        stl->g_data->dpix_preview_shgrp, "line_thickness_crease", ll->use_same_style?&unit_thickness:&ll->thickness_crease, 1);
     DRW_shgroup_uniform_float(
-        stl->g_data->dpix_preview_shgrp, "line_thickness_material", &ll->thickness_material, 1);
+        stl->g_data->dpix_preview_shgrp, "line_thickness_material", ll->use_same_style?&unit_thickness:&ll->thickness_material, 1);
     DRW_shgroup_uniform_float(
-        stl->g_data->dpix_preview_shgrp, "line_thickness_edge_mark", &ll->thickness_edge_mark, 1);
+        stl->g_data->dpix_preview_shgrp, "line_thickness_edge_mark", ll->use_same_style?&unit_thickness:&ll->thickness_edge_mark, 1);
     DRW_shgroup_uniform_float(stl->g_data->dpix_preview_shgrp,
                               "line_thickness_intersection",
-                              &ll->thickness_intersection,
+                              ll->use_same_style?&unit_thickness:&ll->thickness_intersection,
                               1);
     DRW_shgroup_uniform_float(
         stl->g_data->dpix_preview_shgrp, "z_near", &stl->g_data->dpix_znear, 1);
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 19b6369db3a..be786b5829a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -3860,7 +3860,7 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
 
         lanpr_calculate_normal_object_vector(ll, normal_object_direction);
 
-        DRW_shgroup_uniform_vec4(rb->ChainShgrp, "color", ll->color, 1);
+        DRW_shgroup_uniform_vec4(rb->ChainShgrp, "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);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
@@ -3875,22 +3875,23 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
                                  "intersection_color",
                                  ll->use_same_style ? ll->color : ll->intersection_color,
                                  1);
-        DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness", &ll->thickness, 1);
+        static float unit_thickness=1.0f;
+        DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness", ll->use_same_style ? &ll->thickness : &ll->thickness_contour, 1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_crease",
-                                  ll->use_same_style ? &ll->thickness : &ll->thickness_crease,
+                                  ll->use_same_style ? &unit_thickness : &ll->thickness_crease,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_material",
-                                  ll->use_same_style ? &ll->thickness : &ll->thickness_material,
+                                  ll->use_same_style ? &unit_thickness : &ll->thickness_material,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_edge_mark",
-                                  ll->use_same_style ? &ll->thickness : &ll->thickness_edge_mark,
+                                  ll->use_same_style ? &unit_thickness : &ll->thickness_edge_mark,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_intersection",
-                                  ll->use_same_style ? &ll->thickness :
+                                  ll->use_same_style ? &unit_thickness :
                                                        &ll->thickness_intersection,
                                   1);
         DRW_shgroup_uniform_int(rb->ChainShgrp, "enable_contour", &ll->enable_contour, 1);
@@ -4231,11 +4232,13 @@ int lanpr_enable_all_line_types_exec(struct bContext *C, struct wmOperator *op)
   ll->enable_material_seperate = 1;
   ll->enable_intersection = 1;
 
+  copy_v3_v3(ll->contour_color, ll->color);
   copy_v3_v3(ll->crease_color, ll->color);
   copy_v3_v3(ll->edge_mark_color, ll->color);
   copy_v3_v3(ll->material_color, ll->color);
   copy_v3_v3(ll->intersection_color, ll->color);
 
+  ll->thickness_contour = 1;
   ll->thickness_crease = 1;
   ll->thickness_material = 1;
   ll->thickness_edge_mark = 1;
diff --git a/source/blender/makesdna/DNA_lanpr_types.h b/source/blender/makesdna/DNA_lanpr_types.h
index b08b55298f3..cd8d1fd00ca 100644
--- a/source/blender/makesdna/DNA_lanpr_types.h
+++ b/source/blender/makesdna/DNA_lanpr_types.h
@@ -96,20 +96,21 @@ typedef struct LANPR_LineLayer {
   int enable_material_seperate;
   int enable_intersection;
 
-  float thickness; /* default is for contour */
+  float thickness;
+  float thickn

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list