Better grid rasterization method for hair volumetric grids.
This is based on the paper "Detail Preserving Continuum Simulation of Straight Hair" (McAdams, Selle, Ward, 2009) The main difference is that hair line segments are used rather than only rasterizing velocity at the vertices. This gives a much better coverage of the hair volume grid, otherwise gaps can be produced at smaller grid cell sizes and the distribution is uneven along the hair curve. The algorithm for rasterizing is a variation of Bresenham's algorithm extended onto 3D grids. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
This commit is contained in:
@@ -1061,6 +1061,7 @@ static bool cloth_points_collision_response_static(ClothModifierData *clmd, Coll
|
||||
bounce = 0.0f;
|
||||
mul_v3_v3fl(impulse, collpair->normal, repulse);
|
||||
}
|
||||
#if 0
|
||||
{
|
||||
float d[3], md[3];
|
||||
mul_v3_v3fl(d, collpair->normal, -collpair->distance);
|
||||
@@ -1072,8 +1073,9 @@ static bool cloth_points_collision_response_static(ClothModifierData *clmd, Coll
|
||||
BKE_sim_debug_data_add_line(clmd->debug_data, collmd->current_x[collpair->bp2].co, collmd->current_x[collpair->bp3].co, 0, 0, 1, "collision", hash_collpair(86, collpair));
|
||||
BKE_sim_debug_data_add_line(clmd->debug_data, collmd->current_x[collpair->bp3].co, collmd->current_x[collpair->bp1].co, 0, 0, 1, "collision", hash_collpair(87, collpair));
|
||||
}
|
||||
#endif
|
||||
cloth1->verts[collpair->ap1].impulse_count++;
|
||||
BKE_sim_debug_data_add_vector(clmd->debug_data, collpair->pa, impulse, 1.0, 1.0, 1.0, "collision", hash_collpair(873, collpair));
|
||||
// BKE_sim_debug_data_add_vector(clmd->debug_data, collpair->pa, impulse, 1.0, 1.0, 1.0, "collision", hash_collpair(873, collpair));
|
||||
|
||||
result = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user