[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