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
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.
2014-03-07Removing ParticleSystem->frand arrays to avoid memory corruption issuesLukas Tönne
in threaded depgraph updates and effector list construction. Gathering effectors during depgraph updates will call the psys_check_enabled function. This in turn contained a DNA alloc call for the psys->frand RNG arrays, which is really bad because data must be immutable during these effector constructions. To avoid such allocs the frand array is now global for all particle systems. To avoid correlation of pseudo-random numbers the psys->seed value is complemented with random offset and multiplier for the actual float array. This is not ideal, but work sufficiently well (given that random numbers were already really limited and show repetition quite easily for particle counts > PSYS_FRAND_COUNT).
2014-02-14Fix for crash caused by effectors doing precalculation //during// DAGLukas Tönne
updates. This file crashes on loading with NULL pointer access to curve_cache: {F77132} The pdInitEffectors function was amalgamating the simple collection of effector objects with an automatic precalculation for curve guides and the like. This precalculation requires object data that may not be available until the DAG has finished. Since for DAG dependencies only the list of effectors is required, added an argument to disable precalculation when collecting effectors.
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-05Fix T35247: Particle texture behaves incorrectly after changing the number ↵Sergey Sharybin
of particles Root of the issue goes to the order of particle initialization which does texture evaluation (which does depend on particle coordinate) and particle birth coordinate calculation. So basically what happened is: * Changing number of particles re-allocated all the particles, which sets their coordinate to (0,0,0) * Texture evaluation used this non-initialized coordinate * Coordinates were calculated for particles Reshuffled code a bit so now texture evaluation happens after particles. coordinate calculation. Basically moved texture evaluation to particle reset function. Reset happens after initialization anyway and it does know particle coordinates. Also, if reset is being called without init then it's also kind of logical to re-evaluate texture because particle coordinates might change.
2014-02-05Fix T38476: incorrect hair draw type after editing particle system in edit mode.Brecht Van Lommel
2014-01-22Fix for particle emission bug, reported on IRC by Thomas BeckLukas Tönne
(@plasmasolutions): When the particle emitter is parented to a fast moving object, the emission locations will not be interpolated over subframes. This works if the particle emitter is animated itself. Particle system evaluates the emitter location for each subframe, but has to do this for the parent objects as well to get reliable results.
2013-12-26Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derivedCampbell Barton
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-10-31code cleanup: spellingCampbell Barton
2013-10-29Fix for particle texture influence bug causing undefined (nan) values: When ↵Lukas Toenne
using a texture with "Particles/Strands" coordinates that in turn has a "Lifetime" influence on the particles, the texture eval accesses the particle lifetime/dietime data before it is actually defined! This is a design flaw, but to avoid corrupted data for now just initialize the lifetime/dietime values for particles in advance before evaluating the texture.
2013-09-27Fix #36630, Particlesystem - boids - goal - collision.Lukas Toenne
Problem was introduced with r54648, which determined the initial interval for the Newton-Raphson method using the "total_time" of the collision - but this info is only defined for regular collisions, not for the raycasting used in boids to find the "ground object". To ensure correct behavior, now clear the collision info before using it (good practice in any case), then check the inv_total_time variable and use the standard 0.001 step if not defined.
2013-09-02use strict flags for kdtree, and replace ints with unsigned ints where possible.Campbell Barton
also replace callocs with mallocs since zeroing memory can be avoided.
2013-08-24when the size of an edgehash is known or can be guessed,Campbell Barton
pass in the argument to reserve the size.
2013-08-24edge hash: take an arg for the guarded-malloc string (as ghash does)Campbell Barton
2013-08-19Use reentrant qsort() in particle codesSergey Sharybin
Particle system code used global variable to sort hair by orig index, which is not safe for threading at all. Replaced this with usage of reentrant version of qsort, which is now implemented in BLI. It was moved from recast navigation code to BLI, so more areas could use it (if needed). -- svn merge -r59086:59087 ^/branches/soc-2013-depsgraph_mt
2013-08-19Make lattice deform safe for threadingSergey Sharybin
Lattice deformation used to store some runtime data inside of lattice datablock itself. It's something which is REALLY bad. Ideally DNA shouldn't contain and runtime data. For now solved it in a way that initialization of lattice deform will create a structure which contains lattice object for which deformation is calculating and that runtime data which used to be stored in lattice datablock itself. It works really fine for mesh deform modifier, but there's still runtime data stored in particle system DNA, It didn't look something easy to be solved, so leaving this as-is for now. -- svn merge -r58277:58278 -r58795:58796 ^/branches/soc-2013-depsgraph_mt
2013-07-14recent changes to particle normal orientation change behavior in a way you ↵Campbell Barton
might not want (even though in general I think its an improvement). split this into 2 options, added 'Normal-Tangent' orientation that makes the mesh orient towards the tangent, otherwise it uses Z-Up as before.
2013-07-14fix relating to [#36093] Stationary Particle system - particle Y axis fails ↵Campbell Barton
to follow emitter object rotation With deformations and on a simple cube you could get axis flipping with normal-particle alignment. now use the normal & tangent to create the orientation to give a stable matrix that wont flip.
2013-07-12fix [#36093] Stationary Particle system - particle Y axis fails to follow ↵Campbell Barton
emitter object rotation
2013-07-05correct typo in previous commit & minor changes.Campbell Barton
2013-07-02Fix #35966: remesh modifier + particle use modifier stack option did not workBrecht Van Lommel
well together.
2013-06-25Fix particle hair display percentage not properly getting restored afterBrecht Van Lommel
rendering. This used to happen in an unneeded frame change update which was removed. For heavy particle systems this could have a bad impact on viewport performance after rendering.
2013-05-28fix [#35544] Boids Segfault of frame advance using cursor keysCampbell Barton
caused by partial revert of r56073.
2013-05-27Particles: patch #35205 by Jakub ZolcikBrecht Van Lommel
The Emission panel now has a Use Modifier Stack option to emit particles from the mesh with modifiers applied. Previously particles would only be emitted from faces that exist in the original mesh. There are some caveats however: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.68/Tools#Particles
2013-05-19Fix #35407: different particle behavior compared to 2.66, reverted part of ↵Brecht Van Lommel
56073.
2013-05-08Fix #35240: command line -t number of threads option did not work for cycles.Brecht Van Lommel
Now it works for blender internal, cycles and other multithreading code in Blender in both background and UI mode.
2013-04-22fix [#35026] Curve build modifierCampbell Barton
2013-04-16Random number generator: replace a bunch of usage of the global random numberBrecht Van Lommel
generator with a local one. It's not thread safe and will not give repeatable results, so in most cases it should not be used. Also fixes #34992 where the noise texture of a displacement modifier was not properly random in opengl animation render, because the seed got reset to a fixed value by an unrelated function while for final render it changed each frame.
2013-03-31style cleanupCampbell Barton
2013-02-19Fix for [#34099] Particles leaking from moving meshesAlex Fraser
This was caused by a floating point precision error. During collision detection, Newton-Raphson iteration is used to find the exact time of the collision. But when using subframes, the initial Newton step was too small. Now the initial step is given in absolute units. When subframes = 0, this should behave almost the same as before. Thanks to Janne Karhu, Lukas Toenne and Ton Roosendaal for their help with this patch, and to AutoCRC for funding.
2013-02-14Divide by 3 instead of multiplying by variations of 0.333Sergej Reich
Fixes small precision problems.
2013-01-23sim: Remove "continue physics" codeSergej Reich
This was left over from 2.4x days and is not used anymore. Now simulations are always interactive.