[Bf-blender-cvs] [ff39754a95f] greasepencil-object: Remove object control for Opacity

Antonio Vazquez noreply at git.blender.org
Mon Jul 24 11:28:00 CEST 2017


Commit: ff39754a95ffc7b642c7e0b7d0b78e5c8f6fd23a
Author: Antonio Vazquez
Date:   Mon Jul 24 11:27:36 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rBff39754a95ffc7b642c7e0b7d0b78e5c8f6fd23a

Remove object control for Opacity

There was several problems to use an object to control opacity and how change fill opacity, so it's better to remove this and find an alternative (maybe using  shaders)

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

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/intern/MOD_gpencilopacity.c

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

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 559641013de..3467bb7acee 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1615,21 +1615,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
     def GP_OPACITY(self, layout, ob, md):
         gpd = ob.grease_pencil
-        row = layout.row()
-        row.prop(md, "factor")
-
         split = layout.split()
+
         col = split.column()
-        col.label("Target:")
-        col.prop(md, "target", text="")
-        is_obj = md.target is not None
-        row = col.row()
-        row.enabled = is_obj
-        row.prop(md, "size")
-        row = col.row()
-        row.enabled = is_obj
-        row.prop(md, "falloff")
-        row.prop(md, "box_mode")
+        col.label("Opacity:")
+        col.prop(md, "factor")
 
         col = split.column()
         col.label("Layer:")
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 15a519662d0..e5725fedaa4 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -1689,20 +1689,16 @@ typedef enum eGpencilTint_Flag {
 
 typedef struct GpencilOpacityModifierData {
 	ModifierData modifier;
-	struct Object *target;       /* target */
 	char layername[64];          /* layer name */
 	int passindex;               /* custom index for passes */
 	int flag;                    /* flags */
 	float factor;                /* Main Opacity factor */
-	float size;                  /* radius of focal area */
-	float falloff;               /* decay of opacity factor */
 	char pad[4];
 } GpencilOpacityModifierData;
 
 typedef enum eGpencilOpacity_Flag {
 	GP_OPACITY_INVERSE_LAYER  = (1 << 0),
 	GP_OPACITY_INVERSE_PASS   = (1 << 1),
-	GP_OPACITY_BOX_MODE       = (1 << 2),
 } eGpencilOpacity_Flag;
 
 typedef struct GpencilArrayModifierData {
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index a7c21b283ac..8dabcf6480f 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -5012,19 +5012,7 @@ static void rna_def_modifier_gpencilopacity(BlenderRNA *brna)
 	prop = RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_float_sdna(prop, NULL, "factor");
 	RNA_def_property_range(prop, 0, 1.0);
-	RNA_def_property_ui_text(prop, "Factor", "Factor for mixing color");
-	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-	prop = RNA_def_property(srna, "falloff", PROP_FLOAT, PROP_NONE);
-	RNA_def_property_float_sdna(prop, NULL, "falloff");
-	RNA_def_property_range(prop, 0, 1.0);
-	RNA_def_property_ui_text(prop, "Falloff", "Factor for gradient");
-	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-	prop = RNA_def_property(srna, "size", PROP_FLOAT, PROP_NONE);
-	RNA_def_property_float_sdna(prop, NULL, "size");
-	RNA_def_property_range(prop, 0, FLT_MAX);
-	RNA_def_property_ui_text(prop, "Size", "Size of view area");
+	RNA_def_property_ui_text(prop, "Factor", "Factor of opacity");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
 	prop = RNA_def_property(srna, "passindex", PROP_INT, PROP_NONE);
@@ -5033,11 +5021,6 @@ static void rna_def_modifier_gpencilopacity(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "Pass", "Pass index");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-	prop = RNA_def_property(srna, "box_mode", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_OPACITY_BOX_MODE);
-	RNA_def_property_ui_text(prop, "Box", "Use rectangle shape for view area");
-	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
 	prop = RNA_def_property(srna, "inverse_layers", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_OPACITY_INVERSE_LAYER);
 	RNA_def_property_ui_text(prop, "Inverse Layers", "Inverse filter");
@@ -5047,14 +5030,6 @@ static void rna_def_modifier_gpencilopacity(BlenderRNA *brna)
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_OPACITY_INVERSE_PASS);
 	RNA_def_property_ui_text(prop, "Inverse Pass", "Inverse filter");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-	prop = RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
-	RNA_def_property_pointer_sdna(prop, NULL, "target");
-	RNA_def_property_ui_text(prop, "Target", "Target object");
-	RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
-	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-	//RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
-
 }
 
 static void rna_def_modifier_gpencilarray(BlenderRNA *brna)
diff --git a/source/blender/modifiers/intern/MOD_gpencilopacity.c b/source/blender/modifiers/intern/MOD_gpencilopacity.c
index 533fbc281dc..398a0bdec60 100644
--- a/source/blender/modifiers/intern/MOD_gpencilopacity.c
+++ b/source/blender/modifiers/intern/MOD_gpencilopacity.c
@@ -35,7 +35,6 @@
 #include "DNA_gpencil_types.h"
 
 #include "BLI_utildefines.h"
-#include "BLI_ghash.h"
 
 #include "BKE_global.h"
 #include "BKE_DerivedMesh.h"
@@ -49,10 +48,8 @@ static void initData(ModifierData *md)
 {
 	GpencilOpacityModifierData *gpmd = (GpencilOpacityModifierData *)md;
 	gpmd->passindex = 0;
-	gpmd->factor = 1;
-	gpmd->size = 1.0f;
+	gpmd->factor = 1.0f;
 	gpmd->layername[0] = '\0';
-	gpmd->target = NULL;
 
 	BKE_gpencil_batch_cache_alldirty();
 }
@@ -71,64 +68,18 @@ static DerivedMesh *applyModifier(ModifierData *md, struct EvaluationContext *UN
 {
 	GpencilOpacityModifierData *mmd = (GpencilOpacityModifierData *)md;
 	bGPdata *gpd;
-	Palette *newpalette = NULL;
+
 	if ((!ob) || (!ob->gpd)) {
 		return NULL;
 	}
 	gpd = ob->gpd;
-	GHash *gh_layer = BLI_ghash_str_new("GP_Opacity Layer modifier");
-	GHash *gh_color;
-
 	for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
 		for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
 			for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
-				/* create a new set of colors */
-				if (mmd->flag & GP_TINT_CREATE_COLORS) {
-					
-					/* look for palette */
-					gh_color = (GHash *)BLI_ghash_lookup(gh_layer, gps->palette->id.name);
-					if (gh_color == NULL) {
-						gh_color = BLI_ghash_str_new("GP_Opacity Color modifier");
-						BLI_ghash_insert(gh_layer, gps->palette->id.name, gh_color);
-					}
-
-					/* look for color */
-					PaletteColor *newpalcolor = (PaletteColor *) BLI_ghash_lookup(gh_color, gps->palcolor->info);
-					if (newpalcolor == NULL) {
-						if (!newpalette) {
-							newpalette = BKE_palette_add(G.main, "Palette");
-						}
-						newpalcolor = BKE_palette_color_copy(newpalette, gps->palcolor);
-						BLI_ghash_insert(gh_color, gps->palcolor->info, newpalcolor);
-					}
-
-					if (newpalcolor) {
-						BLI_strncpy(gps->colorname, newpalcolor->info, sizeof(gps->colorname));
-						gps->palcolor = newpalcolor;
-					}
-				}
-
 				ED_gpencil_opacity_modifier(-1, (GpencilOpacityModifierData *)md, gpl, gps);
 			}
 		}
 	}
-	/* free hash buffers */
-	GHashIterator *ihash = BLI_ghashIterator_new(gh_layer);
-	while (!BLI_ghashIterator_done(ihash)) {
-		GHash *gh = BLI_ghashIterator_getValue(ihash);
-		if (gh) {
-			BLI_ghash_free(gh, NULL, NULL);
-			gh = NULL;
-		}
-		BLI_ghashIterator_step(ihash);
-	}
-	BLI_ghashIterator_free(ihash);
-
-	if (gh_layer) {
-		BLI_ghash_free(gh_layer, NULL, NULL);
-		gh_layer = NULL;
-	}
-
 	return NULL;
 }




More information about the Bf-blender-cvs mailing list