[Bf-blender-cvs] [5c74c712a90] lanpr-under-gp: LineArt: Thickness and strength moved into the modifier.

YimingWu noreply at git.blender.org
Wed Jul 15 11:30:10 CEST 2020


Commit: 5c74c712a9039eb686158f85c4aa5ec20ede14da
Author: YimingWu
Date:   Wed Jul 15 17:30:06 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rB5c74c712a9039eb686158f85c4aa5ec20ede14da

LineArt: Thickness and strength moved into the modifier.

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

M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/editors/include/ED_lineart.h
M	source/blender/editors/lineart/lineart_cpu.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
M	source/blender/makesdna/DNA_gpencil_modifier_types.h
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_gpencil_modifier.c
M	source/blender/makesrna/intern/rna_scene.c

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

diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 1608686b32d..05eda285e23 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -719,10 +719,6 @@ class RENDER_PT_lineart(RenderButtonsPanel, Panel):
 
         layout.prop(lineart, "crease_threshold", slider=True)
 
-        col = layout.column()
-        col.prop(lineart, "master_thickness", slider=True)
-        col.prop(lineart, "master_strength", slider=True)
-
         col.prop(lineart, 'auto_update', text='Auto Update')
 
         if not scene.camera:
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 0adf3a9a8d0..d5c7912a450 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -5115,8 +5115,6 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
         for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
 
           scene->lineart.crease_threshold = 0.7f;
-          scene->lineart.master_thickness = 20;
-          scene->lineart.master_strength = 1.0f;
 
           scene->lineart.flags |= (LRT_USE_INTERSECTIONS);
 
diff --git a/source/blender/editors/include/ED_lineart.h b/source/blender/editors/include/ED_lineart.h
index dabbfcd3166..fe5a6f8b1dd 100644
--- a/source/blender/editors/include/ED_lineart.h
+++ b/source/blender/editors/include/ED_lineart.h
@@ -536,7 +536,9 @@ void ED_lineart_generate_gpencil_from_chain(struct Depsgraph *depsgraph,
                                             int level_end,
                                             int material_nr,
                                             struct Collection *col,
-                                            int types);
+                                            int types,
+                                            short thickness,
+                                            float opacity);
 void ED_generate_strokes_direct(struct Depsgraph *depsgraph,
                                 struct Object *ob,
                                 struct bGPDlayer *gpl,
@@ -546,7 +548,9 @@ void ED_generate_strokes_direct(struct Depsgraph *depsgraph,
                                 int level_start,
                                 int level_end,
                                 int mat_nr,
-                                short line_types);
+                                short line_types,
+                                short thickness,
+                                float opacity);
 
 struct bContext;
 
diff --git a/source/blender/editors/lineart/lineart_cpu.c b/source/blender/editors/lineart/lineart_cpu.c
index 8e08cf3f9fd..14075f6f739 100644
--- a/source/blender/editors/lineart/lineart_cpu.c
+++ b/source/blender/editors/lineart/lineart_cpu.c
@@ -3666,7 +3666,9 @@ void ED_lineart_generate_gpencil_from_chain(Depsgraph *depsgraph,
                                             int level_end,
                                             int material_nr,
                                             Collection *col,
-                                            int types)
+                                            int types,
+                                            short thickness,
+                                            float opacity)
 {
   LineartRenderBuffer *rb = lineart_share.render_buffer_shared;
 
@@ -3692,8 +3694,6 @@ void ED_lineart_generate_gpencil_from_chain(Depsgraph *depsgraph,
   tempnum++;
   int color_idx = 0;
   Scene *scene = DEG_get_evaluated_scene(depsgraph);
-  short thickness = scene->lineart.master_thickness;
-  short opacity = scene->lineart.master_strength;
 
   Object *orig_ob = NULL;
   if (ob) {
@@ -3788,7 +3788,9 @@ void ED_generate_strokes_direct(Depsgraph *depsgraph,
                                 int level_start,
                                 int level_end,
                                 int mat_nr,
-                                short line_types)
+                                short line_types,
+                                short thickness,
+                                float opacity)
 {
 
   if (!gpl || !gpf || !source_reference || !ob) {
@@ -3815,7 +3817,9 @@ void ED_generate_strokes_direct(Depsgraph *depsgraph,
                                          level_end,
                                          mat_nr,
                                          source_collection,
-                                         use_types);
+                                         use_types,
+                                         thickness,
+                                         opacity);
 }
 
 static int lineart_update_gpencil_strokes_exec(bContext *C, wmOperator *UNUSED(op))
@@ -3897,7 +3901,9 @@ static int lineart_bake_gpencil_strokes_exec(bContext *C, wmOperator *UNUSED(op)
                 lmd->target_material ?
                     BKE_gpencil_object_material_index_get(ob, lmd->target_material) :
                     0,
-                lmd->line_types);
+                lmd->line_types,
+                lmd->thickness,
+                lmd->opacity);
           }
         }
       }
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
index dec96d3311e..c34b64f23b6 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
@@ -70,6 +70,8 @@ static void initData(GpencilModifierData *md)
 {
   LineartGpencilModifierData *lmd = (LineartGpencilModifierData *)md;
   lmd->line_types = LRT_EDGE_FLAG_ALL_TYPE;
+  lmd->thickness = 25;
+  lmd->opacity = 1.0f;
 }
 
 static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
@@ -92,7 +94,9 @@ static void generate_strokes_actual(
       lmd->level_start,
       lmd->use_multiple_levels ? lmd->level_end : lmd->level_start,
       lmd->target_material ? BKE_gpencil_object_material_index_get(ob, lmd->target_material) : 0,
-      lmd->line_types);
+      lmd->line_types,
+      lmd->thickness,
+      lmd->opacity);
 }
 
 static void generateStrokes(GpencilModifierData *md, Depsgraph *depsgraph, Object *ob)
@@ -243,6 +247,9 @@ static void panel_draw(const bContext *C, Panel *panel)
 
   uiLayoutSetPropSep(layout, true);
 
+  uiItemR(layout, &ptr, "thickness", 0, NULL, ICON_NONE);
+  uiItemR(layout, &ptr, "opacity", 0, NULL, ICON_NONE);
+
   uiItemR(layout, &ptr, "source_type", 0, NULL, ICON_NONE);
 
   if (source_type == LRT_SOURCE_OBJECT) {
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index 0cbb93e0fb5..11f2d03498d 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -824,6 +824,10 @@ typedef struct LineartGpencilModifierData {
   struct Material *target_material;
   char target_layer[64];
 
+  float opacity;
+  short thickness;
+  short _pad;
+
 } LineartGpencilModifierData;
 
 #endif /* __DNA_GPENCIL_MODIFIER_TYPES_H__ */
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 9112e8e29cb..f82dca85562 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1719,10 +1719,8 @@ typedef struct SceneLineart {
 
   /* shared */
 
-  float contour_fade;     /* for dpix contour fading,reserved for future usage */
-  float crease_threshold; /* 0-1 range for cosine angle */
-  int master_thickness;   /* 0-100, in GP up to 1000*/
-  float master_strength;
+  float contour_fade;          /* for dpix contour fading,reserved for future usage */
+  float crease_threshold;      /* 0-1 range for cosine angle */
   float crease_fade_threshold; /* for dpix crease fading */
 
   float line_color[4];
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c
index e433d56771f..5281d92f3a4 100644
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@ -2408,6 +2408,20 @@ static void rna_def_modifier_gpencillineart(BlenderRNA *brna)
   prop = RNA_def_property(srna, "target_layer", PROP_STRING, PROP_NONE);
   RNA_def_property_ui_text(prop, "Target Layer", "Grease pencil layer that strokes goes into.");
   RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+  prop = RNA_def_property(srna, "thickness", PROP_INT, PROP_NONE);
+  RNA_def_property_int_default(prop, 20);
+  RNA_def_property_ui_text(prop, "Thickness", "The thickness that are used to generate strokes");
+  RNA_def_property_ui_range(prop, 1, 100, 1, 1);
+  RNA_def_property_range(prop, 1, 200);
+  RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+  prop = RNA_def_property(srna, "opacity", PROP_FLOAT, PROP_NONE);
+  RNA_def_property_float_default(prop, 0.1f);
+  RNA_def_property_ui_text(prop, "opacity", "The strength value used to generate strokes.");
+  RNA_def_property_ui_range(prop, 0.0f, 1.0f, 0.01f, 2);
+  RNA_def_property_range(prop, 0.0f, 1.0f);
+  RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
 }
 
 void RNA_def_greasepencil_modifier(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 9e5ca6cca40..6fe8bae119e 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -7379,22 +7379,6 @@ static void rna_def_scene_lineart(BlenderRNA *brna)
   RNA_def_property_ui_text(prop, "Calculate Intersections", "Calculate Intersections or not");
   RNA_def_property_update(prop, NC_SCENE, "rna_lineart_update");
 
-  prop = RNA_def_property(srna, "master_thickness", PROP_INT, PROP_NONE);
-  RNA_def_property_int_default(prop, 20);
-  RNA_def_property_ui_text(
-      prop, "Master Thickness", "The thickness that are used to generate strokes");
-  RNA_def_property_ui_range(prop, 1, 100, 1, 1);
-  RNA_def_property_range(prop, 1, 200);
-  RNA_def_property_update(prop,

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list