August 8, 2014, 15:57 (GMT) |
Debugging UI for enabling debug draw options directly without build options. |
August 8, 2014, 13:57 (GMT) |
Secondary penalty force for collisions to prevent penetrations. The first component only cancels out the relative velocity, but does not prevent further penetration of hair into other objects. This second force component actively pushes the hair outward based on the distance from a collision margin. |
August 8, 2014, 13:02 (GMT) |
Actual hair point size support for collision and, eventually, rendering. |
August 8, 2014, 11:46 (GMT) |
Simple air drag term for hair. This avoids ceaseless movement and is physically quite plausible. It doesn't replace real hair-hair collision though. |
August 8, 2014, 10:54 (GMT) |
Fix for restitution force scaling: This has to use the overall timestep size, since collision only happens once during this step. Otherwise the simulation explodes due to forces being a factor num_force_steps too large. |
August 8, 2014, 10:11 (GMT) |
Fix for threading crash: Collision contact filtering has to happen outside the thread functions, or Bullet will have a race condition. |
August 8, 2014, 09:52 (GMT) |
Expose substeps for the force and damping loops in the UI. Split the integrator loop into 2 parts, so we can actually perform the collision response in the correct place. |
August 8, 2014, 09:48 (GMT) |
Make hair debug functions threadsafe by passing explicit per-thread debug data to them, instead of using static global data. |
August 7, 2014, 21:44 (GMT) |
Merge branch 'master' into hair_system |
August 7, 2014, 21:43 (GMT) |
Fixed missing scons include folders for Bullet in the hair code. |
August 7, 2014, 21:36 (GMT) |
Expose friction and restitution of hair in the UI. |
August 7, 2014, 20:59 (GMT) |
Basic collision response for hairs with other objects. This only includes a restitution force atm, so the hair just slides sideways over meshes. Friction forces and detailed collision settings still have to be added for giving more control. |
August 7, 2014, 20:27 (GMT) |
Fix for stretch forces, were disabled by merge error. |
August 7, 2014, 17:37 (GMT) |
Caching for bullet contacts with the hair system. This makes the hair code a bit more independent from Bullet details when handling contact information later on. Also we can then quickly loop over contacts for repeated iterator steps without having to filter the persistent manifold points cache again and again. |
August 7, 2014, 17:08 (GMT) |
Some cleanup and restructuring of the integrator code. This divides the integrator loop more clearly into distinct steps, i.e. = Outer Loop = > detect collisions (todo) = Inner Loop = * calculate internal forces * calculate external forces * handle collision responses * calculate damping > update state > synchronize threads (not needed yet) |
August 7, 2014, 13:23 (GMT) |
Fix for smoothing iterator: Frame rotation was disabled for angles > 90 degrees, due to missing abs() call. |
August 7, 2014, 12:23 (GMT) |
Use the hair root normal for setting up the reference frames. Currently the tangent is generated simply by projecting the Z-axis, eventually we need to have a user-defined tangent space of some kind for this. |
August 7, 2014, 10:26 (GMT) |
Removed the debug "smoothing" factor. |
August 7, 2014, 10:23 (GMT) |
Expose the bend smoothing factor in the UI and compute the average curve segment rest length for scaling. |
August 7, 2014, 09:58 (GMT) |
A bunch of fixes for the frame propagation method for calculating bend forces between hair segments. This is still not quite ready, in particular first/last hair segments are a bit problematic. |
|