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
2019-01-07Cleanup: move DNA comments before struct membersCampbell Barton
Needed for clang-format in some cases, see: T53211
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-11-29Cleanup: mark `PART_DRAW_EMITTER` of ParticleSetting drawflags as dreprecated.Bastien Montagne
2018-11-13Fix T57105: Baked Particles could not be rendered as expectedSergey Sharybin
Same fix as for smoke (and is what caching proposal is AFAIK): share cache between copied and original objects. One thing which is still missing to be fixed is to make auto-cache more reliable. It was already kind of broken, so don't think it should be a stopping factor for this fix.
2018-09-24Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-24Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-02Cleanup: comment blocksCampbell Barton
2018-09-02Cleanup: comment blocksCampbell Barton
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for DNA headersCampbell Barton
2018-05-30Hair Particles: DNA: Add properties for new GPU hairs.Clément Foucault
Hair Particles shape properties are ported from cycles. Thoses properties have the same defaults and have a do_version of their own. Cycles will use theses properties instead of its custom ones. Some realtime engine specific settings are also added to scene->r because it's much easier to control as global values. Bumping Version number so cycles can do its own do_version on top of the default settings.
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-05-16Particle System: ported most DerivedMesh → MeshSybren A. Stüvel
There are a few places where DerivedMesh is still used, most notably when calling the (not yet ported) cloth simulation. There is also still the use of Object.derivedDeform and Object.derivedFinal. Those places are marked with a TODO. Some functions in the editors module were copied to accept Mesh. Those already had 'mesh' in the name; the copies are suffixed with '__real_mesh' for easy renaming later when the DM-based functionality is removed.
2018-05-15Particle edit: Need to check DONE flag from evaluated psysSergey Sharybin
2018-05-15Depsgraph: Keep track of original particle systemSergey Sharybin
Allows to have quicker lookup in particle edit mode.
2018-04-13Python API: remove preview/render resolution settings from API functions.Brecht Van Lommel
For correct results these must have been set already when the depsgraph was created and evaluated, so all dependencies have appropriate resolutions too. For particle we no longer backup and restore the viewport particles to avoid overwriting them during render, as copy-on-write solves this for us. Even without COW particles seem to work ok. This also removes the particle simplification options based on camera. This was never used much and only available in Blender Internal. Differential Revision: https://developer.blender.org/D3148
2018-03-29Particles: Remove dedicated recalc field from ParticleSettingsSergey Sharybin
Use more generic id->recalc flag. Also sanitize flag flush from settings to particle system. Need to do such flush before triggering point cache reset, since point cache reset will do some logic based on what flags are set. This will solve crash caused by threaded update which will set some bitflags while point cache reset is in progress.
2018-02-15Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-15Simple hair children: Make twist affected by textureSergey Sharybin
This completes twist feature, which is now possible to also control by texture. Since textures can not easily contain negative values as well, same trick with 0.5 neutral as vertex groups is used. All in all, this twist features allows to do following things. Original hair: {F2287535} Hair with scientifically calculated twist value of 0.5: {F2287540} And we can also twist braids in opposite directions dependent on left/right side: {F2287548}
2018-02-15Simple hair children: Make twist affected by vertex groupSergey Sharybin
The idea is to give a control over direction of twist, and maybe amount of twist as well. More concrete example: make braids on left and right side of character head to be twisting opposite directions. Now, tricky part: we need some negative values to flip direction, but weights can not be negative. So we use same trick as displacement map and tangent normal maps, where 0.5 is neutral, values below 0.5 are considered negative and values above 0.5 are considered positive.
2018-02-15Simple hair children: Initial implementation of twist controlSergey Sharybin
It allows to have children hair to be twisted around parent curve, which is quite an essential feature when creating hair braids. There are currently two controls: - Number of turns around parent children. - Influence curve, which allows to modify "twistness" along the strand.
2017-07-20Depsgraph: Solve TODO about more granular particle settings update taggingSergey Sharybin
2017-07-04Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/makesdna/DNA_particle_types.h
2017-07-03Fix T51523: Lattice modifier affecting particles even when disabledLuca Rood
Particles were ignoring the lattice modifier visibility, and "influence" property.
2017-06-06Make particle size follow world space instead of screen spaceLuca Rood
2017-05-12Implement hair drawing with Draw Manager in Clay engineLuca Rood
Part of T51378
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-07-31Support limiting collisions by group for softbody and particlesAlexander Gavrilov
This feature is extremely useful for layering multiple cloth objects, and there is no reason there shouldn't be the same kind of feature for softbody.
2016-04-13Removed particle DNA.Lukas Tönne
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-01-20Fixed merge errors.Lukas Tönne
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-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-20Optional randomization factors for the spiral radius and axis orientation.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-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-20Debug drawing feature to visualize the hair continuum grid.Lukas Tönne
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
2014-10-29Fix T42395: Stored "render data" in particles mismatches the particleLukas Tönne
amount and crashes after Cycles render. This is a hack to fix this, but at this point the system is hopelessly broken anyway and no good fix other than total rewriting is possible.
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-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-05Code cleanup: replace magic constants with more verbose bitnamesSergey Sharybin
2013-12-10DNA Deprecation: add DNA_DEPRECATED_GCC_POISON for enum/structs.Campbell Barton
also fully remove freestyle raycasting_algorithm
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.