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-05-04Separate scene simplification into viewport and renderSergey Sharybin
This way it is possible to have viewport simplification bumped all the way up, making viewport really responsive but still have final render to use highest subdivision possible. Reviewers: lukastoenne, campbellbarton, dingto Reviewed By: campbellbarton, dingto Subscribers: dingto, nutel, eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1273
2015-05-03Fix T44185, Fix T44090: hair texture density working unreliable.Krzysztof Recko
"Unexisting" particles must be freed after the unexist flag has been set, which was no longer the case after 78c491e62a5. Reviewers: brecht Differential Revision: https://developer.blender.org/D1213
2015-04-13Revert "Fix hair random rotation limited to 180 degrees"Sergey Sharybin
This reverts commit 176ed5bfe280ef2151f93c0940d54498aaf00d71.
2015-04-13Fix hair random rotation limited to 180 degreesMai Lavelle
The issue was caused by phase being limited from 0 to 1, which gave only 0..M_PI distribution which is not good enough for good randomness. Now the phase is being randomized across full 0..2*M_PI range.
2015-03-25Fix T43694, by Krzysztof Rećko (chrisr), reviewed in D1177.Lukas Tönne
Added some guards to prevent clumping to non existing particles. Also, adjusted threaded child path evaluation, so each child is evaluated once - previously virtual parents were done twice.
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-02-22Fix T43768: Pointcache end frame ignores preview rangeJulian Eisel
Fix for T43768 This way it works consistent with cloth, softbodys, etc. Reviewers: lukastoenne Differential Revision: https://developer.blender.org/D1134
2015-02-14Revert "Fix T43471, based on patch submitted by @sean_loh."Lukas Tönne
This reverts commit b2b54b0902045ec4f0c1a4cae3209be863878f5b. The patch breaks particle distribution even in simple cases, not worth doing this for keeping a hackish loophole open.
2015-02-12Fix T43471, based on patch submitted by @sean_loh.Lukas Tönne
Particle textures always override timing information of particles. Previously particle times could be scripted, but now these changes are discarded by the texture evaluation function. The patch disables texture overriding when no textures are defined, this way at least some old scripts can keep working.
2015-02-02Fix for unfreed effector weights in hair dynamics.Lukas Tönne
The internal cloth modifier effector weights get replaced temporarily to make the cloth sim use the particle weight settings instead. But the particle sim was not putting back the original weights, which can be non-NULL in case the cloth sim allocated these already. Messy design ...
2015-02-02Fix for unfreed memory due to unnecessary early exit in the freeLukas Tönne
function.
2015-01-20Curve-based control for child path tapering.Lukas Tönne
This is an alternative method to the current fixed function with a clump factor and "shape" parameter. This function is quite limited and does not give the desired result in many cases (e.g. long, parallel rasta strands are problematic). So rather than trying to add more parameters there is now a fully user-defined optional curve for setting the tapering shape.
2015-01-20Separate context freeing from task freeing in threaded particle updatesLukas Tönne
to prevent double-freeing/invalid mem access. This can happen with the "virtual parents" feature, which generates both parent and child paths. Each task free function also freed the shared context, leading to double freeing.
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-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-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-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-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-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-20Reduced the length threshold for disabling short hairs from 0.1 to 0.01.Lukas Tönne
2015-01-20Fix for Sintel hair bug.Lukas Tönne
The hair solver needs sane input to converge within reasonable time steps. In particular the spring lengths must not be too difference (factor 0.01..100 or so max, this is comparable to rigid body simulation of vastly different masses, which is also unstable). The basic hair system generate strands with equally spaced points, which is good solver material. However, the hair edit operators, specifically the cutting tool, can move points along the strands, creating tightly packed hair points. This puts the solver under enormous stress and causes the "explosions" observed already during the Sintel project. The simple solution for now is to exclude very short hairs from the simulation. Later the cutting tool should be modified such that it keeps the segments roughly at the same length and throws away vertices when the hair gets too short (same goes for the extension tool). The hair system should have a general mechanism for making sure that situations such as this don't occur. This will have to be a design consideration for replacements in any future hair system.
2015-01-20First stage of implementing moving frames of reference for hair/cloth.Lukas Tönne
This adds transformations for each hair from world to "root space". Currently positions and velocities are simply transformed for the solver data and inverse-transformed when copying the results back to the cloth data. This way the hair movement becomes independent from the movement of the emitter object. Eventually the "fictitious" forces originating from emitter movement can be added back in a controlled way. http://en.wikipedia.org/wiki/Fictitious_force Ignoring these fictitious forces or scaling their effect is physically correct, because in the absence of external forces the hair will always return to rest position in this root frame. External forces currently are not yet transformed into the root space.
2015-01-20Added new data in the cloth modifier for hair root information.Lukas Tönne
This will allow us to implement moving reference frames for hair and make "fictitious" forces optional, aiding in creating stable and controllable hair systems. Adding data in this place is a nasty hack, but it's too difficult to encode as a DM data layer and the whole cloth modifier/DM intermediate data copying for hair should be removed anyway.
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).
2015-01-04cleanup: use 'coords' abbreviation for functions.Campbell Barton
2014-11-11Avoid calling powf with integer exponent in more placesSergej Reich
Move powX functions from particle code into math library and use them.
2014-09-24Cleanup: use float versions of functions when in/output are floatsCampbell Barton
2014-08-26Fix for broken hair sim in old files.Lukas Tönne
Files older than rB37e1285 have broken hair sim due to the (hacky) velocity "damping" factor, which is not initialized to 1.
2014-08-14remove MAXFLOAT defineCampbell Barton
2014-08-11Fix T41403: Grid Particles only partially generated.Bastien Montagne
Getting dominant axis (biggest dimension of bbox) was wrong, now using BLI code for that.
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-07-18Fix T41114: Particle systems cause memory corruption due to invalidLukas Tönne
dmcache index (again).
2014-07-02Fix T40815: Particle birth times not initialized correctly.Lukas Tönne
In rB78c491e the `initialize_particle` function was split into 2 parts for particle texture initialization. The texture init part however also initializes birth times, which is now missing in the main init function in some cases (notably when setting start/end directly without a subsequent time step).
2014-06-24Correction to last commitCampbell Barton
2014-06-24Use gnu-libc arg order for BLI_sort_rCampbell Barton
When building on gnu-libc don't use our own implementation.
2014-05-29Fix T39686: nused omp firstprivate variable sphdata in particlesSergey Sharybin
2014-05-07Fix T40052, Grid Particles Crash due to invalid empty mesh verts accessLukas Tönne
for bbox calculation.
2014-05-02Fix T39984: Interpolation errors in particle emitter animation.Lukas Tönne
Reverse child->parent order of particle emitter animation eval causes artifacts when more than one parent level is used.
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-04Code cleanup: no need to use calloc when memory is initialized afterCampbell Barton
also replace AT with __func__ since AT expands the full pathname
2014-03-18Correction to particle system commit: wrong struct name was usedSergey Sharybin
2014-03-18Fix T39180: Particle with fluid physics unstable.Lukas Tönne
Fluid sims have a very nasty feature for interaction, in which a psys can directly update the bvhtree for //another object's psys//. This breaks with threaded depsgraph evaluation and is generally a no-go. To avoid crashes for now, use a global mutex to avoid concurrent writes to an object psys' bvhtree.
2014-03-18Code cleanup: jitter, use 2d float arrayCampbell Barton
2014-03-18KDTree: deprecate 'normal' argumentCampbell Barton
Normals for each kdtree node were allocated but never used, and search args only use in particles/boids code.