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-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-04-08Particles: Fix for missing particles in render if they're disabled for viewportSergey Sharybin
The issue was introduced in rB4b685e1 and it appears some crazy area still accesses particles for render after deleting it's render data, which broke viewport/render behavior. This commit restores previous G.is_rendering logic and adds corresponding checks to cache construction, so counting is all consistent. Goes to the TODO list to either replace G.is_rendering with eval_ctx or to make it so psys->renderdata always exists during render sync.
2015-04-07Fix T44268: Particles: too many virtual parents + non-100 display% = crashSergey Sharybin
Issue was caused by mismatched logic in counting child/parent particles in job initialization and actual job execution. Confusion here came from mixed usage of psys->renderdata and G.is_rendering. We need to get rid of G.is_rendering and use eval_ctx if it's really needed, but we also might just use psys->renderdata check since it's expected psys to have this structure anyway.
2015-04-04Cleanup: use BKE_animdata_* prefixCampbell Barton
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-02-20RNA: correct bool callbacksCampbell Barton
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 memory of internal hair cloth modifier pointcache.Lukas Tönne
2015-01-31Compiler warning: double-promotionCampbell Barton
2015-01-27Fix T43427: Particle system children sometimes not generated on reloadSergey Sharybin
The issue was caused by the conflict between preview render which would set R_NO_IMAGE_LOAD flag on the renderer and texture samplers called outside of the render pipeline trying to use this flag. Now the sampler functions accepts extra argument so render pipeline can still skip image load, but calls outside of the pipeline will nicely load all the images. Not cleanest change in the world but good enough to unlock gooseberry team, and assuming we already had pool passed all over the place it should be all fine. Will need to reshuffle arguments into SamplerOptions structure later.
2015-01-20Fix for crash when using virtual parent hairs and clumping.Lukas Tönne
The paths for parents and children are generated using the same function with a rather obscure test to distinguish them. Modifiers (clump, kink, roughness) should not be applied to parents though.
2015-01-20Use separate flags to enable/disable clump and roughness curves forLukas Tönne
child hairs. This allows disabling the curves temporarily without losing the setup. Conflicts: source/blender/blenkernel/BKE_blender.h
2015-01-20Fix for particle system copy: This has to make sure the ORIGSPACE dataLukas Tönne
layer is available. Otherwise particle mapping to the new mesh cannot work with subdivided and constructively-modified meshes.
2015-01-20New operator for copying (hair) particle systems from one object toLukas Tönne
another, including edit data (grooming). This uses basically the same method as the existing connect/disconnect feature. The main difference is that it allows working with multiple objects and transferring the //particle/hair data// instead of the //mesh// data (which is what connect/disconnect expects). This is a much more realistic workflow when rigging, topology etc. changes and groomed hair has to be transferred to the changed model.
2015-01-20New texture influence option for particle kink amplitude (as opposed toLukas Tönne
frequency).
2015-01-20Renaming "Kink" texture influence to "Kink Frequency" to be moreLukas Tönne
specific.
2015-01-20Allow clumping and roughness in Spiral kink mode as well.Lukas Tönne
This requires interpolating the parent key properties, because no single parent key can be mapped to each key on the children any more.
2015-01-20Removed unused old code.Lukas Tönne
2015-01-20Another crappy approach to spirals on hairs, crazy expensive though.Lukas Tönne
Conflicts: source/blender/blenkernel/intern/particle.c
2015-01-20Spiral kink mode for particles.Lukas Tönne
This is BAD code, but the particle kinking does not make it easy to write a non-local modifier that requires neighboring positions, curvature, etc. The feature is needed for Gooseberry.
2015-01-20Optional clumping noise feature for simulating twisted hair strands.Lukas Tönne
This adds another level of clumping on child hairs. When enabled, child hairs chose a secondary clumping target using a Voronoi pattern. This adds visual detail on a smaller scale, which is useful particularly when the number of parents is relatively small. Natural fibres behave in a similar way when they become sticky and intertwined. Hairs close to each other form a first twisted strand, then combine into larger strands. Similar features can be found in ropes: http://en.wikipedia.org/wiki/Hair_twists http://en.wikipedia.org/wiki/Rope Conflicts: source/blender/blenloader/intern/versioning_270.c
2015-01-20Curve-based control for "roughness" (noise displacement) of child hair.Lukas Tönne
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-20Moved kink, clump and roughness functions into the dedicated source file.Lukas Tönne
2015-01-20Reorganizing hair child code a little bit to make it not totally insane.Lukas Tönne
This contains a few pieces of code for a future "modifier" system that would allow more flexible combination of effects. Eventually a node system is the way to go, but the current code makes that impossible.
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-20Moved render simplification function for particle distribution into theLukas Tönne
distribution code.
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-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-20Fix for crash when going into particle edit mode with baked hairLukas Tönne
simulation. Note that this currently generates an extreme amount of points, by making a edit pathcache curve for each hair in every frame! But at least doesn't simply crash now.
2015-01-09Fix T43159: Copying of linked datablocks using relpath leads to invalid ↵Bastien Montagne
paths in new copies. Propper fix reverting most of rB60e70c0c6014e5, which was only partial specific fix. This code uses generic `BKE_id_lib_local_paths()` func to handle all possible paths. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D977
2015-01-07Recalculate particle pathcache stuff for all particles instead ofLukas Tönne
trying to be smart. This breaks child interpolation otherwise because sometimes parent paths are not calculated and give bad clumping results.
2015-01-01cleanup: redundant casts & const cast correctnessCampbell Barton
2014-12-01Cleanup: more int->bool.Bastien Montagne
2014-11-16Cleanup: use BLI_listbase_count_ex to avoid redundant loopingCampbell Barton
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-10-30Math Lib: add transpose_m3_m3, m3_m4, m4_m4Campbell Barton
2014-10-29Fix T42294: Bullet rigidbody point cache reading was using uninitializedLukas Tönne
key values for velocity.
2014-09-24Cleanup: use float versions of functions when in/output are floatsCampbell Barton
2014-07-20Fix T41122: Mask modifier followed by hair particles causes crash on render ↵Bastien Montagne
(cycles). There were several small issues/inconsistencies if how particles' org face index was checked, leading in some cases to invalid indices and hence mem access, in RNA UV/VCol compute for particles. Note org code RNA one was copied from (in BI's convertblender.s) is much more complicated, and seems to never reach those breaking conditions. Also deduplicated most code in those UV/VCol particles funcs, they were doing mostly the same thing! Finally, also got rid of annoying `NO CD_ORIGSPACE, error out of range` error message in console, was another case of not checking whether we did have any faces in final mesh!
2014-07-08Fix T40983 Particle Texture use of generated coordinates is wrong.Lukas Tönne
Particle texture eval was not taking the actual texture space for orco/ generated textures into account at all.
2014-06-29Fix T40733: Segfault with hair particles cache and vgroups.Lukas Tönne
The "fix" is just a stupid index sanity check to avoid crashing. Underlying issue is not identified and probably never will ...
2014-05-21Fix T40299, Crash on rendering due to dependency cycles and NULL pointer ↵Lukas Tönne
when using particle duplis.
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-26Fix T39432: yet another particle bug caused by inconsistent num_dmcacheLukas Tönne
mystery.
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.