[Bf-blender-cvs] [28b17a7fb6f] hair_guides: Remove the simple hair guide generator, can test through the API now.

Lukas Tönne noreply at git.blender.org
Tue May 15 09:02:18 CEST 2018


Commit: 28b17a7fb6f24d09f9deb421cf955e2786267e43
Author: Lukas Tönne
Date:   Tue May 15 08:00:05 2018 +0100
Branches: hair_guides
https://developer.blender.org/rB28b17a7fb6f24d09f9deb421cf955e2786267e43

Remove the simple hair guide generator, can test through the API now.

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

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/editors/object/object_modifier.c
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/intern/MOD_fur.c

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

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 99900915265..d20d1d33f0d 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1566,13 +1566,9 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col.label("Follicles:")
         col.prop(md, "follicle_seed")
         col.prop(md, "follicle_count")
+        col.operator("object.fur_generate_follicles", text="Generate")
 
         col = split.column()
-        col.label("Guide Curves:")
-        col.prop(md, "guides_count")
-
-        col = layout.column()
-        col.operator("object.fur_generate_follicles", text="Generate")
 
         col.separator()
 
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 3d4f90a22dd..e7eef22aedb 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2429,55 +2429,6 @@ void OBJECT_OT_surfacedeform_bind(wmOperatorType *ot)
 
 /************************ Fur follicle generate operator *********************/
 
-static void fur_create_guide_curves(struct HairSystem *hsys, unsigned int seed, DerivedMesh *scalp, int count)
-{
-	float area = BKE_hair_calc_surface_area(scalp);
-	float density = BKE_hair_calc_density_from_count(area, count);
-	float min_distance = BKE_hair_calc_min_distance_from_density(density);
-	MeshSampleGenerator *gen = BKE_mesh_sample_gen_surface_poissondisk(seed, min_distance, count, NULL, NULL);
-	
-	BKE_mesh_sample_generator_bind(gen, scalp);
-	
-	{
-		MeshSample *buffer = MEM_mallocN(sizeof(MeshSample) * count, "mesh sample buffer");
-		int totguides = BKE_mesh_sample_generate_batch(gen, buffer, count);
-		
-		{
-			BKE_hair_guide_curves_begin(hsys, totguides);
-			
-			MeshSample *sample = buffer;
-			for (int i = 0; i < totguides; ++i, ++sample)
-			{
-				BKE_hair_set_guide_curve(hsys, i, sample, 2);
-			}
-			
-			BKE_hair_guide_curves_end(hsys);
-		}
-		
-		{
-			int vertstart = 0;
-			MeshSample *sample = buffer;
-			for (int i = 0; i < totguides; ++i, ++sample)
-			{
-				float co[3], nor[3], tang[3];
-				BKE_mesh_sample_eval(scalp, sample, co, nor, tang);
-				BKE_hair_set_guide_vertex(hsys, vertstart, 0, co);
-				
-				madd_v3_v3fl(co, nor, 0.1f);
-				BKE_hair_set_guide_vertex(hsys, vertstart + 1, 0, co);
-				
-				vertstart += 2;
-			}
-		}
-		
-		MEM_freeN(buffer);
-	}
-	
-	BKE_mesh_sample_free_generator(gen);
-	
-	BKE_hair_bind_follicles(hsys, scalp);
-}
-
 static int fur_generate_follicles_poll(bContext *C)
 {
 	return edit_modifier_poll_generic(C, &RNA_FurModifier, 0);
@@ -2505,18 +2456,11 @@ static int fur_generate_follicles_exec(bContext *C, wmOperator *op)
 	            (unsigned int)fmd->follicle_seed,
 	            fmd->follicle_count);
 	
-	{
-		unsigned int guides_seed = fmd->follicle_seed ^ 0xFFFF;
-		fur_create_guide_curves(
-		            fmd->hair_system,
-		            guides_seed,
-		            dm,
-		            fmd->guides_count);
-	}
-
+	BKE_hair_bind_follicles(fmd->hair_system, dm);
+	
 	DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 	WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob);
-
+	
 	return OPERATOR_FINISHED;
 }
 
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 0b942d0e39d..395ed5d977d 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -1667,9 +1667,6 @@ typedef struct FurModifierData {
 	int follicle_seed;
 	int follicle_count;
 
-	int guides_count;
-	int pad2;
-
 	ListBase guide_curves;
 } FurModifierData;
 
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 00f21ec0760..15225cc4b69 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -5025,12 +5025,6 @@ static void rna_def_modifier_fur(BlenderRNA *brna)
 	RNA_def_property_ui_range(prop, 1, 1e5, 1, 1);
 	RNA_def_property_ui_text(prop, "Follicle Count", "Maximum number of follicles");
 	
-	prop = RNA_def_property(srna, "guides_count", PROP_INT, PROP_NONE);
-	RNA_def_property_int_default(prop, 1000);
-	RNA_def_property_range(prop, 0, INT_MAX);
-	RNA_def_property_ui_range(prop, 1, 1e3, 1, 1);
-	RNA_def_property_ui_text(prop, "Guides Count", "Maximum number of guide curves");
-	
 	prop = RNA_def_property(srna, "draw_settings", PROP_POINTER, PROP_NONE);
 	RNA_def_property_ui_text(prop, "Draw Settings", "Hair draw settings");
 	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
diff --git a/source/blender/modifiers/intern/MOD_fur.c b/source/blender/modifiers/intern/MOD_fur.c
index 9a572eb59a6..e9bd784d328 100644
--- a/source/blender/modifiers/intern/MOD_fur.c
+++ b/source/blender/modifiers/intern/MOD_fur.c
@@ -60,7 +60,6 @@ static void initData(ModifierData *md)
 	fmd->flag |= 0;
 	
 	fmd->follicle_count = 100000;
-	fmd->guides_count = 1000;
 	
 	fmd->draw_settings = BKE_hair_draw_settings_new();
 }



More information about the Bf-blender-cvs mailing list