Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-05Cleanup: rename getepsilon -> get_epsilonCampbell Barton
2015-08-20BVH-overlap: add callback to BLI_bvhtree_overlapCampbell Barton
The callback checks if 2 nodes intersect (not just their AABB). Advantages: - theres no need to allocate overlaps which are later ignored. - expensive intersection tests will run multi-threaded. Currently only used for Python API.
2015-07-31Replace MFace w/ vert-tri's for collision modifierCampbell Barton
Note that the collision modifier doesn't have any use for Loop indices, so to avoid duplicating the loop array too, MVertTri has been added which simply stores vertex indices (runtime only).
2015-03-16Cleanup: warningsCampbell Barton
2015-03-06Cleanup: unused warningsCampbell Barton
2015-01-20Made SimDebugData into a single global instance.Lukas Tönne
This way it doesn't have to be stored as DNA runtime pointers or passed down as a function argument. Currently there is now no property or button to enable debugging, this will be added again later.
2015-01-20Nicer hashing functionality for sim debugging using a variadic macroLukas Tönne
to support multiple hash identifiers. Using explicit hashing functions for every sim debug call defeats the purpose of having a quick feedback system. Now this can be done simply by passing an arbitrary number of hash inputs (integers) at the end of the function calls, which are then combined by a system of variadic macros (based on the ELEM feature). Up to 8 identifiers are supported currently, but more could be added easily if needed. Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Better grid rasterization method for hair volumetric grids.Lukas Tönne
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
2015-01-20Fix for warnings/errorsLukas Tönne
Conflicts: source/blender/blenkernel/intern/key.c source/blender/blenkernel/intern/particle_system.c source/blender/makesrna/intern/rna_particle.c
2015-01-20Moved collision response into the main cloth sim source file and fixedLukas Tönne
some coordinate transform issues. Collision response should be regarded as part of the dynamics system instead of the basic collision detection.
2015-01-20Disabled collision culling on the inside of the collider faces for now,Lukas Tönne
this seems to remove too many contact points somehow ...
2015-01-20Fix for collision response, the impulse response was far too small.Lukas Tönne
2015-01-20Use the S matrix of the modifier CG algorithm for implementing collisionLukas Tönne
responses. The S matrix together with the z Vector encodes the degrees of freedom of a colliding hair point and the target velocity change. In a collision the hair vertex is restricted in the normal direction (when moving toward the collider) and the collision dynamics define target velocity.
2015-01-20Better contact point near-test for hair.Lukas Tönne
This simply uses the position above the triangle instead of the intersection point of the vertex path. The other method was broken anyway, but also has a problem catching all the contacts reliably. The new method might have a few false positives but that is acceptable.
2015-01-20Fixed for hair collision detection, old/new positions were swapped.Lukas Tönne
2015-01-20Fixed implementation of the Conjugate Gradient method for the clothLukas Tönne
solver that properly supports constraints with some degrees-of-freedom. The previous solver implementation only used the S matrix (constraint filter matrix) for pinning vertices, in which case all elements are zero and the error doesn't show up. With partial constraints (useful for collision contacts) the matrix has non-zero off-diagonal elements and the algorithm easily diverges. There are also initial steps for implementing collision prevention as described in the Baraff/Witkin paper "Large Steps in Cloth Simulation" (http://www.cs.cmu.edu/~baraff/papers/sig98.pdf).
2015-01-20Preparation for collision code fixing.Lukas Tönne
Instead of handling contact tests and collision response in the same function in collision.c, first generate contact points and return them as a list, then free at the end of the stepping function. This way the contact response can be integrated into the conjugate gradient method properly instead of using the hackish and unstable double evaluation that is currently used.
2015-01-20Some more debug elements for hair collisions.Lukas Tönne
2015-01-20Extended line/face collision near-check, to allow for distance margins.Lukas Tönne
The original BLI method for line/triangle intersection returns false in case the line does not actually intersect, but in order to generate repulsion forces we need to also handle contacts inside the margin.
2015-01-20Fix bounce/repulse calculation.Lukas Tönne
2015-01-20Hair debugging: use "categories" (strings) for grouping debug elementsLukas Tönne
and support clearing for categories.
2015-01-20Fix for hair collision detection: need to use the second point of theLukas Tönne
timestep segment. This ensures the distance for a collision pair is the one of the current point position, and the response gets calculated accordingly.
2015-01-20Use repulsion forces in combination with the one-time penalty forcesLukas Tönne
in collision.
2015-01-20Partial response force for hair collisions.Lukas Tönne
This implements a penalty force as well as a repulsion force to avoid further penetration, as suggested in "Simulating Complex Hair with Robust Collision Handling" (http://graphics.snu.ac.kr/publications/2005-choe-HairSim/Choe_2005_SCA.pdf) Friction forces are still missing. More problematic is handling of moving colliders, when face swap places with the hair vertex and a collision is missed, putting the vertex inside the mesh volume. Larger margins might help, but ultimately using Bullet collision detection is probably more reliable and failsafe.
2015-01-20Some initial collision code, without actual response forces still.Lukas Tönne
This is still using the old BVH tree collision methods to generate contact points, similar to what cloth does. This should be replaced by a Bullet collision check, but generating contacts in this way is easier for now, and lets us test responses and stability (although in more complex collision cases the BVH method fails utterly, beside being terribly inefficient with many colliders).
2014-11-11cloth: Fix overallocation for collisionsSergej Reich
This was introduced when eltopo was added, but not reverted when it was removed.
2014-09-24Cleanup: boolCampbell Barton
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-04Cloth: replace EdgeHash with EdgeSetCampbell Barton
2014-02-14Code cleanup: duplicate headersCampbell Barton
2013-09-04replace sqrt(dot()) with length functions.Campbell Barton
2013-08-24cloth was using edgehash not quite correctly:Campbell Barton
- was ordering vertex args unnecessarily. - was adding the same edges multiple times into the edgehash.
2013-05-08remove unused define CLAMPTEST, move INPR toCampbell Barton
collision_compute_barycentric(), only place its used.
2013-04-05code cleanup: include orderCampbell Barton
2013-03-08style cleanupCampbell Barton
2013-03-05code cleanup: also change BKE_blender.h BLENDER_VERSION_CHAR to 'a' so as ↵Campbell Barton
not to confuse things.
2013-01-23make bullet optional againCampbell Barton
2012-12-28style cleanupCampbell Barton
2012-12-12Fix for cloth/smoke: Collision and flow objects always had to be on the same ↵Daniel Genrich
layer. Reported and patch by MiikaH
2012-11-23ifdef'd gcc diagnostic pragma's to quiet msvc and others.Campbell Barton
2012-11-04code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few ↵Campbell Barton
files since its done throughout the code in some places.
2012-10-27use min/max inline functions where MIN2/MAX2 were doing type conversion.Campbell Barton
2012-10-23rename api functions...Campbell Barton
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-19Fix #32920: cloth physics with collision exploding in some cases, due toBrecht Van Lommel
uninitialized memory usage.
2012-09-20code cleanup: remove unused macros, commet some which may be useful later - ↵Campbell Barton
or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc
2012-07-22style cleanupCampbell Barton
2012-07-07style cleanup: use c style comments in C codeCampbell Barton
2012-07-07code cleanup: dont use function calls like dot_v3v3, pow and sqrt within ↵Campbell Barton
macros which results in calling the function multiple times needlessly. also added some comments.
2012-06-27style cleanupCampbell Barton