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-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-20New debug element "circle" for simulations, which is quite useful forLukas Tönne
visualizing scalar fields.
2015-01-20Debug grid drawing for hair volume was drawing one subdivision too many.Lukas Tönne
2015-01-20Unused leftover debug variable.Lukas Tönne
2015-01-20Reimplemented the voxel texture type for displaying hair continuum grids.Lukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Expose hair grid info in the RNA (read-only); it can be useful forLukas Tönne
debugging purposes.
2015-01-20Debug visualization code of a slice of the hair velocity vector field.Lukas Tönne
2015-01-20Removed arbitrary factor 2.0 on volumetric hair friction factor.Lukas Tönne
This was introducing energy into the system for any factor beyond 0.5 and caused major instability.
2015-01-20Fill the hair volume grid with the _new_ velocities from the firstLukas Tönne
solver step, instead of using the previous step's velocities. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Debug drawing feature to visualize the hair continuum grid.Lukas Tönne
2015-01-20Perform grid-based velocity smoothing for hair outside of the implicitLukas Tönne
solver step. Calculating forces and jacobians from linearly interpolated grid values is problematic due to discontinuities at the grid boundaries. The new approach of modifying velocities after the backward euler solver step was suggested in a newer paper "Detail Preserving Continuum Simulation of Straight Hair" (McAdams, Selle 2009) Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Minor fix for lost variable declaration during cherry-picking.Lukas Tönne
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-20Reorganizing hair dynamics UI layout a bit to make settings slightlyLukas Tönne
more intuitive. Also removed a couple of unused or useless features from the UI: * collider friction is unused and replaced in favor of true collision * spring damping refers to structural springs (stretch), which is not noticable in hair due to extreme stiffness atm. * pressure factors are not sure since this feature is too unstable atm. Conflicts: release/scripts/startup/bl_ui/properties_particle.py
2015-01-20Moved render simplification function for particle distribution into theLukas Tönne
distribution code.
2015-01-20Removed unused variable.Lukas Tönne
2015-01-20A little bit of code sanity by splitting particle distribution functionLukas Tönne
by type. Instead of squashing totally unrelated code into the same monster function.
2015-01-20Moved particle code for distributions into own file to make hackingLukas Tönne
easier. This code is badly broken and needs to be replaced, but at least having a workable code structure might help with quick hacks to fix the worst cases.
2015-01-20Removed unused line.Lukas Tönne
2015-01-20New hair editing feature "Shape Cut", for cutting hair based on a meshLukas Tönne
shape instead of a brush tool. The brush cutting tool for hair, while useful, is not very accurate and often requires rotating the model constantly to get the right trimming on every side. This makes adjustments to a hair shape a very tedious process. On the other hand, making proxy meshes for hair shapes is a common workflow. The new operator allows using such rough meshes as boundaries for hair. All hairs that are outside the shape mesh are removed, while those cutting it at some length are shortened accordingly. The operator can be accessed in the particle edit mode toolbar via the "Shape Cut" button. The "Shape Object" must be set first and stays selected as a tool setting for repeatedly applying the shape.
2015-01-20Switched back to blender implicit solver for merge.Lukas Tönne
2015-01-20Unified the main Eigen solver function a bit for constrained/unconstrainedLukas Tönne
solver variants.
2015-01-20Ported the remaining implicit solver functions for Eigen.Lukas Tönne
Also added a couple of utility wrapper functions for Eigen types to make interfacing with plain float arrays and blenlib math easier.
2015-01-20Updating Eigen implicit dynamics solver implementation to adhere to theLukas Tönne
new mass-spring solver API. Conflicts: source/blender/physics/intern/implicit_eigen.cpp
2015-01-20Fix for inverted condition: hair data needs to be rebuilt when theLukas Tönne
cloth DM does not exist.
2015-01-20Cleanup: Removed the unnecessary cloth solver abstraction (there is onlyLukas Tönne
one solver anyway), and split some particle cloth functions for clarity. Conflicts: source/blender/blenkernel/BKE_particle.h source/blender/blenkernel/intern/particle_system.c source/blender/blenloader/intern/versioning_270.c source/blender/makesdna/DNA_particle_types.h source/blender/makesrna/intern/rna_particle.c
2015-01-20enum instead of #define for cloth vertex flags.Lukas Tönne
2015-01-20Removed accidentally committed debug print.Lukas Tönne
2015-01-20Use the generic task scheduler for threaded particle tasks, i.e.Lukas Tönne
distribution and path caching for child particles. This gives a significant improvement of viewport playback performance with higher child particle counts. Particles previously used their own threads and had a rather high limit for threading. Also threading apparently was disabled because only 1 thread was being used ...
2015-01-20Removed block matrix indices storage from ClothSpring struct.Lukas Tönne
This is not necessary: the implicit solver data can keep track instead of how many off-diagonal matrix blocks are in use (provided the allocation limit is calculated correctly). Every time a spring is created it then simply increments this counter and uses the block index locally - no need to store this persistently.
2015-01-20Removed unused force arguments for angular bending springs and avoidLukas Tönne
redundant calculation for counterforces.
2015-01-20Guide hair drawing for hair particles.Lukas Tönne
Without this the particle system only shows the actual non-simulated hairs ("guide hairs") during edit mode. These hairs are used for goals as well, so showing them in the regular viewport is pretty important. Also the usual hair curves are interpolated along the entire length, which makes it very difficult to see exact vertex positions, unless using exact powers of 2 for the segment number and match the display steps. Conflicts: source/blender/blenkernel/intern/particle.c
2015-01-20Improved child hair curling for interpolated child particles.Lukas Tönne
The curl radius for children in interpolated mode was calculated using the total offset from the parent particle. This leads to very large radii when the distance is large due to sparse parents. Such behavior is also very unrealistic because the curl radius is mostly constant and defined by the material properties. All the child hairs are roughly parallel by default. To simulate the agglomeration of children into hair wisps the "flatness" parameter is now used to clump them together.
2015-01-20Cloth solver data for edit mode is unused, removed it.Lukas Tönne
2015-01-20Fix for scons files missing physics include folder.Lukas Tönne
2015-01-20Added separate damping for bending springs.Lukas Tönne
The bend damping factor was hardcoded to the same value as the stiffness. Now it has its own factor in the settings and button in hair dynamics.
2015-01-20Set the length threshold for hair simulation to 10% again (from 1%).Lukas Tönne
With the default 5 substeps the simulation can otherwise still become unstable. This is just a preliminary measure anyway until the length variance can be fixed properly.
2015-01-20Fix for outdated root array size when changing the particle amountLukas Tönne
during simulation.
2015-01-20Fix for hair chain testing in the cloth modifier.Lukas Tönne
Bending springs are en-bloc and not interleaved with other springs, so this can't be used as a test for hair roots. Use consecutive indices instead.
2015-01-20Completed the implementation of bent rest shapes for hair.Lukas Tönne
Basically follows the Pixar approach from "Artistic Simulation of Curly Hair".
2015-01-20Target calculation for local non-straight rest shapes.Lukas Tönne
This is more involved than using simple straight bending targets constructed from the neighboring segments, but necessary for restoring groomed rest shapes. The targets are defined by parallel-transporting a coordinate frame along the hair, which smoothly rotates to avoid sudden twisting (Frenet frame problem). The rest positions of hair vertices defines the target vectors relative to the frame. In the deformed motion state the frame is then recalculated and the targets constructed in world/root space.
2015-01-20Have to include BLI_utildefines before BKE_collision now to have boolLukas Tönne
defined.
2015-01-20Clear forces and constraints together at the start of the time step,Lukas Tönne
easier to verify.