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
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.
2016-04-13Removed blenkernel particle code.Lukas Tönne
2016-04-08Fix T48088: Reproducible crash: Edges + Array Mod + Hair Particles.Bastien Montagne
Code did not consider the possibility to have no face at all! :P
2016-03-28Fix T47972: Blender crash showing particle system.Bastien Montagne
Do same as with faces - if no orcodata is available, fill orco with current location...
2016-03-26Fix T47935: Hair particles; The display percentage parameter breaks after a ↵Bastien Montagne
render is done. Follow same logic in `psys_render_restore` as in `psys_render_set` - if hair and display percentage is not 100%, we have to recompute particles... With regular 'emitter' particles just hiding some is fine (though using random here will not give a precise proportion...).
2016-03-02Fix T47610: Texture node in compositing nodes does not updateSergey Sharybin
The issue was caused by some code accessing R from a functions which are marked as safe for use from outside of render pipeline. Now those functions are safe(er) for use.
2016-02-23Fix T47531: crash with particle roughness curve mapping, after fix for T46382.Brecht Van Lommel
2016-02-02Fix T46382: Crash sharing particle system with clump or rough curvesSergey Sharybin
Made those curves local to thread evaluation now, so there is no threading conflict accessing them from evaluation threads anymore.
2016-01-11Fix T47147: small particles incorrectly rendered as large particles ↵Bastien Montagne
(particle size influenced by texture). In fact, code would behave strangely here with any negative value, applying a 'wrapped positive clamping' (comes from original 2.5 commit feature, rBfafbd9d71b95776d1c7583476de74fccefab7f10)... This commit is conservative - it keeps same behavior for all particle properties affected by textures, except for size and length, where we apply a real [0, 1] clamping. Easy to change in future in case new odd cases popup.
2016-01-09Fix T47060: Uv form dupli not working with Cycles when the hair/particles ↵Bastien Montagne
mesh has more than one uv sets. In fact, it was not working with BI either - 'UV from dupli' would always take active UVLayer, not render_active one. Fixed now for both Cycles and BI, and for both particles and 'simple' dupli_face.
2016-01-07Cleanup: remove unused scene argCampbell Barton
2016-01-06Proper fix for memleaks when rendering partsys from edit mode...Bastien Montagne
2016-01-04Fix T47038: Particles in Particle Edit Mode get added in completely wrong ↵Bastien Montagne
location. It also fixes another issue (crash) related to symmetric editing. Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time... This patch mostly fixes particle editing mode: - Adding/removing particles when using generative modifiers (like subsurf) should now work. - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work. - X-axis-mirror-editing particles over ngons does not really work, not sure why currently. - All this in both 'modes' (with or without using modifier stack for particles). Tech side: - Store a deformed-only DM in particle modifier data. - Rename existing DM to make it clear it's a final one. - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches. - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface from an final DM tessface index). Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway), it's more like some urgency bandage. Whole crap needs complete rewrite anyway, BMesh's polygons make it really hard to work with current system (and looptri would not help much here). Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too. Reviewers: psy-fi Subscribers: dfelinto, eyecandy Maniphest Tasks: T47038 Differential Revision: https://developer.blender.org/D1685
2015-12-21Cleanup: warnings (msvc)Campbell Barton
Part of patch D1670 by @LazyDodo
2015-11-23Cleanup: shadowing (blenkernel)Campbell Barton
2015-11-09Cleanup: avoid incrementing/decrementing id->us outside of BKE_library.Bastien Montagne
We have callbacks for that, they also do some checks and help ensure things are done correctly. Only place where this is assumed not true is blenloader (since here we may affect refcount of library IDs as well...).
2015-11-07Cleanup: spelling, headersCampbell Barton
2015-11-02Fix/workaround T46622: crash w/ metas & particlesCampbell Barton
Metas are scanning all scenes duplis, which can go into particle systems without an initialized derived-mesh. For now just do NULL check, its not correct but real fix is not fitting well with current design.
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
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