[Bf-blender-cvs] [299b590] hair_system: Disabled the bf_hair module, to be replaced by general physics module code.
Lukas Tönne
noreply at git.blender.org
Sun Oct 5 14:56:31 CEST 2014
Commit: 299b59042b6d1b8616e84cfad87efad9639dd80f
Author: Lukas Tönne
Date: Wed Sep 24 12:14:44 2014 +0200
Branches: hair_system
https://developer.blender.org/rB299b59042b6d1b8616e84cfad87efad9639dd80f
Disabled the bf_hair module, to be replaced by general physics module
code.
===================================================================
M build_files/cmake/macros.cmake
M source/blender/CMakeLists.txt
M source/blender/SConscript
M source/blender/blenkernel/BKE_hair.h
M source/blender/blenkernel/CMakeLists.txt
M source/blender/blenkernel/SConscript
M source/blender/blenkernel/intern/hair.c
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/particle.c
M source/blender/blenkernel/intern/particle_system.c
M source/blender/blenkernel/intern/rigidbody_objects.c
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/writefile.c
M source/blender/editors/object/CMakeLists.txt
M source/blender/editors/object/SConscript
M source/blender/editors/object/object_modifier.c
M source/blender/editors/physics/CMakeLists.txt
M source/blender/editors/physics/SConscript
M source/blender/editors/physics/hair_ops.c
M source/blender/editors/space_view3d/CMakeLists.txt
M source/blender/editors/space_view3d/SConscript
M source/blender/editors/space_view3d/drawhair.c
M source/blender/makesdna/DNA_hair_types.h
M source/blender/makesdna/DNA_modifier_types.h
M source/blender/makesdna/DNA_particle_types.h
M source/blender/makesrna/SConscript
M source/blender/makesrna/intern/CMakeLists.txt
M source/blender/makesrna/intern/SConscript
M source/blender/makesrna/intern/rna_particle.c
M source/blender/modifiers/CMakeLists.txt
M source/blender/modifiers/SConscript
M source/blender/modifiers/intern/MOD_hair.c
M source/blender/render/CMakeLists.txt
M source/blender/render/intern/source/voxeldata.c
===================================================================
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index f6438c7..0ede486 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -496,7 +496,6 @@ macro(SETUP_BLENDER_SORTED_LIBS)
bf_freestyle
bf_ikplugin
bf_modifiers
- bf_hair
bf_bmesh
bf_blenkernel
bf_physics
diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt
index eab2de7..31b9f45 100644
--- a/source/blender/CMakeLists.txt
+++ b/source/blender/CMakeLists.txt
@@ -108,7 +108,6 @@ add_subdirectory(gpu)
add_subdirectory(imbuf)
add_subdirectory(nodes)
add_subdirectory(modifiers)
-add_subdirectory(hair)
add_subdirectory(makesdna)
add_subdirectory(makesrna)
diff --git a/source/blender/SConscript b/source/blender/SConscript
index 16ca05a..64eca6a 100644
--- a/source/blender/SConscript
+++ b/source/blender/SConscript
@@ -43,8 +43,7 @@ SConscript(['avi/SConscript',
'ikplugin/SConscript',
'physics/SConscript',
'windowmanager/SConscript',
- 'blenfont/SConscript',
- 'hair/SConscript'])
+ 'blenfont/SConscript'])
makesrna = SConscript('makesrna/SConscript')
diff --git a/source/blender/blenkernel/BKE_hair.h b/source/blender/blenkernel/BKE_hair.h
index 7037c13..38ee91f 100644
--- a/source/blender/blenkernel/BKE_hair.h
+++ b/source/blender/blenkernel/BKE_hair.h
@@ -34,9 +34,7 @@
struct HairSystem;
struct HairCurve;
struct HairPoint;
-struct HairDebugData;
struct HairParams;
-struct HAIR_SolverDebugElement;
struct HairSystem *BKE_hairsys_new(void);
void BKE_hairsys_free(struct HairSystem *hsys);
@@ -59,11 +57,6 @@ void BKE_hair_point_remove_position(struct HairSystem *hsys, struct HairCurve *h
void BKE_hair_calculate_rest(struct HairSystem *hsys);
-struct HairDebugData *BKE_hair_debug_data_new(void);
-void BKE_hair_debug_data_insert(struct HairDebugData *debug_data, struct HAIR_SolverDebugElement *elem);
-void BKE_hair_debug_data_clear(struct HairDebugData *debug_data);
-void BKE_hair_debug_data_free(struct HairDebugData *debug_data);
-
/* cached per-hair data */
typedef struct HairPointRenderCache {
float nor[3], tan[3], cotan[3];
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 1cd5c9a..c2b432d 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -36,7 +36,6 @@ set(INC
../bmesh
../modifiers
../nodes
- ../hair
../physics
../render/extern/include
../../../intern/guardedalloc
diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript
index d096d77..6406d13 100644
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@ -57,7 +57,6 @@ incs = [
'../blenloader',
'../bmesh',
'../gpu',
- '../hair',
'../ikplugin',
'../imbuf',
'../makesdna',
diff --git a/source/blender/blenkernel/intern/hair.c b/source/blender/blenkernel/intern/hair.c
index c0da7c8..1020e6a 100644
--- a/source/blender/blenkernel/intern/hair.c
+++ b/source/blender/blenkernel/intern/hair.c
@@ -43,9 +43,6 @@
#include "BKE_hair.h"
#include "BKE_mesh_sample.h"
-#include "HAIR_capi.h"
-#include "HAIR_debug_types.h"
-
void BKE_hairparams_init(HairParams *params)
{
params->substeps_forces = 30;
@@ -247,67 +244,6 @@ void BKE_hair_calculate_rest(HairSystem *hsys)
}
-static unsigned int debug_element_hash(const void *key)
-{
- const HAIR_SolverDebugElement *elem = key;
- return elem->hash;
-}
-
-static int debug_element_compare(const void *a, const void *b)
-{
- const HAIR_SolverDebugElement *elem1 = a;
- const HAIR_SolverDebugElement *elem2 = b;
-
- if (elem1->hash == elem2->hash) {
- return 0;
- }
- return 1;
-}
-
-static void debug_element_free(void *val)
-{
- HAIR_SolverDebugElement *elem = val;
- MEM_freeN(elem);
-}
-
-HairDebugData *BKE_hair_debug_data_new(void)
-{
- HairDebugData *debug_data = MEM_callocN(sizeof(HairDebugData), "hair debug data");
- debug_data->gh = BLI_ghash_new(debug_element_hash, debug_element_compare, "hair debug element hash");
- return debug_data;
-}
-
-void BKE_hair_debug_data_insert(HairDebugData *debug_data, HAIR_SolverDebugElement *elem)
-{
- HAIR_SolverDebugElement *old_elem = BLI_ghash_lookup(debug_data->gh, elem);
- if (old_elem) {
- *old_elem = *elem;
- MEM_freeN(elem);
- }
- else
- BLI_ghash_insert(debug_data->gh, elem, elem);
-}
-
-void BKE_hair_debug_data_clear(HairDebugData *debug_data)
-{
- if (!debug_data)
- return;
-
- if (debug_data->gh)
- BLI_ghash_clear(debug_data->gh, NULL, debug_element_free);
-}
-
-void BKE_hair_debug_data_free(HairDebugData *debug_data)
-{
- if (!debug_data)
- return;
-
- if (debug_data->gh)
- BLI_ghash_free(debug_data->gh, NULL, debug_element_free);
- MEM_freeN(debug_data);
-}
-
-
/* ================ Render ================ */
static int hair_maxpoints(HairSystem *hsys)
@@ -370,6 +306,7 @@ static void hair_precalc_cache(HairRenderIterator *iter)
if (!BKE_hair_render_iter_valid_hair(iter))
return;
+#if 0 // TODO
frame_iter = HAIR_frame_iter_new();
get_hair_root_frame(iter->hair, initial_frame);
@@ -398,6 +335,7 @@ static void hair_precalc_cache(HairRenderIterator *iter)
++cache;
}
+#endif
}
void BKE_hair_render_iter_init(HairRenderIterator *iter, HairSystem *hsys)
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index e3b2282..b83141d 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -113,8 +113,6 @@
#include "BKE_camera.h"
#include "BKE_image.h"
-#include "HAIR_capi.h"
-
#ifdef WITH_MOD_FLUID
#include "LBM_fluidsim.h"
#endif
@@ -1280,9 +1278,6 @@ static ParticleSystem *copy_particlesystem(ParticleSystem *psys)
}
#endif
- psysn->solver = NULL;
- *psysn->params = *psys->params;
-
BLI_duplicatelist(&psysn->targets, &psys->targets);
psysn->pathcache = NULL;
@@ -3184,48 +3179,21 @@ void BKE_object_sim_pre_step(Scene *scene, Object *ob, float ctime)
HairSystem *hsys = hmd->hairsys;
DerivedMesh *dm = ob->derivedFinal;
- if (!hmd->solver) {
- hmd->solver = HAIR_solver_new();
+ if (!hmd->solver_data) {
+ hmd->solver_data = HAIR_solver_new();
hmd->flag &= ~MOD_HAIR_SOLVER_DATA_VALID;
}
- HAIR_solver_set_params(hmd->solver, &hsys->params);
+ HAIR_solver_set_params(hmd->solver_data, &hsys->params);
if (!hmd->flag & MOD_HAIR_SOLVER_DATA_VALID) {
- HAIR_solver_build_modifier_data(hmd->solver, scene, ob, dm, hsys, ctime);
+ HAIR_solver_build_modifier_data(hmd->solver_data, scene, ob, dm, hsys, ctime);
BKE_hair_debug_data_clear(hmd->debug_data);
hmd->flag |= MOD_HAIR_SOLVER_DATA_VALID;
}
- HAIR_solver_update_modifier_externals(hmd->solver, scene, ob, dm, hsys, ctime);
+ HAIR_solver_update_modifier_externals(hmd->solver_data, scene, ob, dm, hsys, ctime);
}
- else if (md->type == eModifierType_ParticleSystem) {
- ParticleSystem *psys = ((ParticleSystemModifierData *) md)->psys;
-
- if (psys && psys->part && psys->part->type == PART_HAIR && psys->flag & PSYS_HAIR_DYNAMICS && psys->particles) {
- /* This, strictly speaking, is not so correct */
- DerivedMesh *dm = ob->derivedFinal;
-
- if (!psys->solver) {
- psys->solver = HAIR_solver_new();
-
- /* it should never happen actually */
- if (!psys->params) {
- psys->params = MEM_mallocN(sizeof(HairParams), "particle_system_hair_params");
- BKE_hairparams_init(psys->params);
- }
-
- HAIR_solver_set_params(psys->solver, psys->params);
-
- HAIR_solver_build_particle_data(psys->solver, scene, ob, dm, psys, ctime);
- }
- else {
- HAIR_solver_set_params(psys->solver, psys->params);
- }
-
- HAIR_solver_update_particle_externals(psys->solver, scene, ob, dm, psys, ctime);
- }
- }
}
}
@@ -3243,7 +3211,7 @@ void BKE_object_sim_tick(Scene *UNUSED(scene), Object *ob, float ctime, float ti
hmd->debug_data = NULL;
}
- HAIR_solver_step(hmd->solver, ctime, timestep);
+ HAIR_solver_step(hmd->solver_data, ctime, timestep);
}
else {
float imat[4][4];
@@ -3252,14 +3220,7 @@ void BKE_object_sim_tick(Scene *UNUSED(scene), Object *ob, float ctime, float ti
if (!hmd->debug_data)
hmd->debug_data = BKE_hair_debug_data_new();
- HAIR_solver_step_debug(hmd->solver, ctime, timestep, imat, hmd->debug_data);
- }
- }
- else if (md->type == eModifierType_ParticleSystem) {
- ParticleSystem *psys = ((ParticleSystemModifierData *) md)->psys;
-
- if (psys->solver) {
- HAIR_solver_step(psys->solver, ctime, timestep);
+ HAIR_solver_step_debug(hmd->solver_data, ctime, timestep, imat, hmd->debug_data);
}
}
}
@@ -3272,7 +3233,7 @@ void BKE_object_sim_post_step(Scene *scene, Object *ob, float UNUSED(ctime))
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Hair) {
HairModifierData *hmd = (HairModifierData*) md;
- HAIR_solver_apply(hmd->solver, scene, ob, hmd->hairsys);
+ HAIR_solver_apply(hmd->solver_data, scene, ob, hmd->hairsys);
}
}
}
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index c41e6aa..bde91f9 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -82,8 +82,6 @@
#include "BKE_scene.h"
#include "BKE_deform.h"
-#include "HAIR_capi.h"
-
#include "RE_render_ext.h"
unsigned int PSYS_FRAND_SEED_OFFSET[PSYS_FRAND_COUNT];
@@ -422,16 +420,6 @@ void free_hair(Object *UNUSED(ob), ParticleSystem *psys, int UNUSED(dynamics))
}
}
#endif
- if (psys->solver) {
- HAIR_solver_free(psys->solver);
- psys->solver = NULL;
- }
-
- if (psys->params) {
- MEM_freeN(psys->params);
- psys->params = NULL;
- }
-
if (psys->hair_in_dm)
psys->hair_in_dm->release(psys->hair_in_dm);
psys->hair_in_dm = NULL;
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 2210fd0..d6c1734 100644
--- a/source/blender/blenkernel/intern/particle_system
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list