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
2015-06-16Cleanup: styleCampbell Barton
2015-05-24Cleanup: styleCampbell Barton
2015-05-20doxygen: corrections/updatesCampbell Barton
Also add depsgraph & physics
2015-04-14Cleanup: warningsCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-27Physics: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-03-11Cleanup: styleCampbell Barton
2015-03-02Revert "Reshuffle applying of solver results a bit to ensure it works exactly"Lukas Tönne
This reverts commit 4c723eb80e299eb6ca11ad72b5fcbe8746c4a854.
2015-03-02Reshuffle applying of solver results a bit to ensure it works exactlyLukas Tönne
as complicated as before cloth solver changes. Still doesn't solve the collapsing cloth cube issue mentioned in T43406, probably the bending springs work somewhat differently now.
2015-03-01Use the old double-step collision method only for cloth.Lukas Tönne
This method does not work for hair anyway. Even though hair collision needs work at this point, it's still better than nothing.
2015-03-01Fix T43406: Bring back cloth collisions.Lukas Tönne
This was disabled during the course of hair dynamics work. The cloth collision solution is based on a secondary velocity-only solver step. While this approach is usable in general, the collision response calculation still does not work well for hair meshes. Better contact point generation is needed here (Bullet) and preferably an improved solver for unilateral constraints.
2015-01-31Compiler warning: double-promotionCampbell Barton
2015-01-21Removed generic debug1..4 values from the cloth data.Lukas Tönne
These were used as UI buttons during development. If such parameters are needed again later they should instead be added in the (now global) SimDebugData and made accessible with a dev addon or so.
2015-01-21Cleanup: styleCampbell 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-20Cleanup: warningsCampbell Barton
2015-01-20Fixed merge errors.Lukas Tönne
2015-01-20Fix for invalid access to undefined hair data in edge-only cloth meshes.Lukas Tönne
Cloth data is used both for hair and actual cloth, which makes things really difficult. The face number was used for distinguishing the two types (no faces == hair mesh), but the extra hair data necessary for hair sim is generated by particles and not available for edge-only cloth meshes. This really needs to be sanitized ... Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Radical simplification of the wind effect on hair, since the previousLukas Tönne
approach does not work very well. Using a cross section estimate still causes large oscillations due to varying hair force based on angles. It also requires a sensible hair thickness value (particle radius) which is difficult to control and visualize at this point. The new model is based purely on per-vertex forces, which seems to be much more stable. It's also somewhat justified by the fact that each hair vertex represents a certain mass. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Fix for wind force function call.Lukas Tönne
2015-01-20Improved force field effects on hair strands.Lukas Tönne
The previous calculation was modulated with the angle between the wind direction and the segments, which leads to very oscillating behavior. Now the formula includes an estimate for the geometric cross section of a hair segment based on the incident angle and the hair thickness (currently just the particle size). This gives a more stable behavior and more realistic response to wind. Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Fix for applying the bending randomness factor.Lukas Tönne
A stupid hack is needed here, changing the way the factor is applied to angular bending springs. In cloth sim the bending factor of individual springs is applied as a mix value between the bending stiffness and a max value, but this max value isn't even used in hair sim so that approach becomes useless. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Randomness factor for hair bending stiffness.Lukas Tönne
This helps to create some variation in a hair system, which can otherwise become very uniform and boring. It's yet another confusing setting in a system that should have been nodified, but only option for now (broken windows ...) Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp
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-20Some tweaking of value ranges for hair target density and removedLukas Tönne
density factor (already included in grid velocity). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Inverted effect of target density was unstable, the divergence termLukas Tönne
needs to be substracted instead.
2015-01-20Use dedicated debug values in cloth settings instead of abusing unusedLukas Tönne
other values. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Fixed wrong stride values used for offsetting the index of Eigen values.Lukas Tönne
The Eigen solver for hair grids uses an extra margin of 1, which means greater stride values.
2015-01-20Hair grid code was using an invalid hair segment at each hair end withLukas Tönne
zero vectors, leading to bad density values. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20A bunch of debug drawing changes.Lukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Corrected the divergence and gradient calculation for the hair gridLukas Tönne
solver input and output. This uses the central difference method (instead of combined forward/ backward difference), which makes it easier to correctly account for grid borders.
2015-01-20Fallback method for defining density in the hair grid using discreteLukas Tönne
samples. This is just an intermediate method to make sure the density is valid. Eventually the closest-point method should be used, but for testing the poisson solver this is easier to debug. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Added a margin to the number of cells used in the poisson grid solver,Lukas Tönne
to ensure we always have one layer of empty cells around the fluid.
2015-01-20Fix for merge errors and leftover unused code lines.Lukas Tönne
2015-01-20Implementation of a target density feature for the hair simulation.Lukas Tönne
This allows setting a target density which the fluid simulation will take into account as an additional term in the pressure Poisson equation. Based on two papers "Detail Preserving Continuum Simulation of Straight Hair" (McAdams et al. 2009) and "Two-way Coupled SPH and Particle Level Set Fluid Simulation" (Losasso et al. 2008) Currently the target pressure is specified directly, but it will be a lot more convenient to define this in terms of a geometric value such as "number of hairs per area" (combined with hair "thickness"). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Another fix for off-by-one hair grid resolution errors.Lukas Tönne
2015-01-20Rewriting the grid rasterization function for hair segments.Lukas Tönne
2015-01-20Merge branch 'hair_immediate_fixes' into gooseberryLukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Implemented PIC and FLIP methods for combining the fluid grid simulationLukas Tönne
with the Lagrangian hair model.
2015-01-20Main solver step for generating a divergence-free hair velocity fieldLukas Tönne
on the grid. This uses the Eigen conjugate-gradient solver to solve the implicit Poisson equation for the pressure Laplacian: div(grad(p)) = div(v) As described in "Detail Preserving Continuum Simulation of Straight Hair" (McAdams, Selle, 2009). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Added new header for Eigen utility classes.Lukas Tönne
These make passing data between Eigen vector and matrix types and plain C arrays more convenient.
2015-01-20Updated a few comments.Lukas Tönne
2015-01-20Compile hair volumetrics code as C++, so we can use Eigen easier.Lukas Tönne
2015-01-20Minor debug code fix.Lukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Use a fixed, uniform cell size for hair continuum grids.Lukas Tönne
This is a bit more awkward for artists to use, but necessary for a stable solution of the hair continuum calculation. The grid size is defined by the user, the extent of the grid is then calculated based on the hair geometry. A hard upper limit prevents bad memory allocation in case too small values are entered. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Removed unused voxel_filter_size DNA property.Lukas Tönne
This is an artifact of earlier attempts to implement velocity smoothing, but doesn't work anyway. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Renamed HairVertexGrid to HairGrid, since it's not actually storingLukas Tönne
hair vertex data. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Removed unused "collider grid" struct from hair volumetrics.Lukas Tönne
This is a leftover from previous approach of hair collisions (with insufficient results). The hair volumetrics actually implements "collision" with solid objects as well, but uses a Neumann boundary condition on the main grid for this purpose.
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-20Unused leftover debug variable.Lukas Tönne