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
2018-12-05Remove old dependency graphSergey Sharybin
Yes, again.
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-06-11Cleanup: Moar G.main removal of Hell.Bastien Montagne
This commit actually adds some G.main... but at much, much higher level than the ones it removes, so should still be better ;)
2018-05-31Cleanup: remove G.main from BKE mball code.Bastien Montagne
2018-02-22Depsgraph: Remove unused argumentSergey Sharybin
2018-02-22Depsgraph: Remove unused bmain from modifiers relations update contextSergey Sharybin
2018-02-22Depsgraph: Wrap all arguments foe modifiers relations update into a structSergey Sharybin
Makes it easier to add or remove fields needed to update relations.
2018-02-21Depsgraph: Split debug flagsSergey Sharybin
Now it's possible to have debug messages for following things: - Graph construction - Graph evaluation - Graph tagging
2018-01-09Fix T53691: Motion Tracking Object Solver Constraint doesn't work as Bone ↵Sergey Sharybin
Constraint
2018-01-09Depsgraph: Move special handling of tracking constraints to a dedicated functionSergey Sharybin
2018-01-09Depsgraph: Perform early check on constraint info NULLSergey Sharybin
2017-12-21Depsgraph: Make it more clear that we dump relations into graphvizSergey Sharybin
We might implement other things to dump into graphviz, so better to start having explicit names.
2017-12-21Depsgraph: Remove eval priority from debuggerSergey Sharybin
This needs to be redone anyway, to correspond to possibly new priorities calculated for evaluaiton.
2017-12-15Move ID recalc flags into dedicated field in IDSergey Sharybin
Currently this is a no-visible-changes change, but the idea is to use this dedicated flag to tell which exact components of ID changed, make it more granular than just OBJECT and OBJECT_DATA. Allow setting this field based on what components new dependency graph flushed on evaluation.
2017-12-13Depsgraph: Cleanup, use less explicit checks of LIB_TAG_ID_RECALC_DATASergey Sharybin
This is a part of ongoing work in Blender 2.8, where we need to replace `object->id.tag & LIB_TAG_ID_RECALC_DATA` with `object->data->id.tag & LIB_TAG_ID_RECALC` Should be no user measurable difference.
2017-11-30Fix T53410: 3D Text always recalculatedCampbell Barton
2017-09-15Transform: Enable recursion dependency check for new depsgraphSergey Sharybin
2017-04-24Cleanup: styleCampbell Barton
2017-04-04Depsgraph: Use atomic operation to tag the changed IDSergey Sharybin
2017-02-27Similar to previous commit, but for object constraintsSergey Sharybin
2017-02-27Depsgraph: Shrinkwrap constraint actually depends on geometrySergey Sharybin
2017-01-31Cleanup: use 'cb_flag', not 'cd_flag' for library_query callbacks.Bastien Montagne
`cd_flag` tends to be used for CustomData flags in mesh area, while for library_query those are rather callback flags...
2016-12-05Fix depsgraph: hair collision is actually enabled, so add the relations.Alexander Gavrilov
2016-11-30Cleanup id->newid usage, initial work.Bastien Montagne
This aims at always ensuring that ID.newid (and relevant LIB_TAG_NEW) stay in clean (i.e. cleared) state by default. To achieve this, instead of clearing after all id copy call (would be horribly noisy, and bad for performances), we try to completely remove the setting of id->newid by default when copying a new ID. This implies that areas actually needing that info (mainly, object editing area (make single user...) and make local area) have to ensure they set it themselves as needed. This is far from simple change, many complex code paths to consider, so will need some serious testing. :/
2016-11-15Atomics: Make naming more obvious about which value is being returnedSergey Sharybin
2016-10-28CacheFile: fix missing depsgraph update.Kévin Dietrich
2016-08-16Fix depsgraph to compute more accurate links for collision & force.Alexander Gavrilov
Current implementation more or less indiscriminately links physics objects to colliders and forces, ignoring precise details of layer checks and collider groups. The new depsgraph seemed to lack some such links at all. The relevant code in modifiers suffers from a lot of duplication. Different physics simulations use independent implementations of collision and similar things, which results in a lot of variance: * Cloth collides with objects on same or visible layer with dupli. * Softbody collides with objects on same layer without dupli. * Non-hair particles collide on same layer with dupli. * Smoke uses same code as cloth, but needs different modifier. * Dynamic paint "collides" with brushes on any layer without dupli. Force fields with absorption also imply dependency on colliders: * For most systems, colliders are selected from same layer as field. * For non-hair particles, it uses the same exact set as the particles. As a special quirk, smoke ignores smoke flow force fields; on the other hand dependency on such field implies dependency on the smoke domain. This introduces two utility functions each for old and new depsgraph that are flexible enough to handle all these variations, and uses them to handle particles, cloth, smoke, softbody and dynpaint. One thing to watch out for is that depsgraph code shouldn't rely on any properties that don't cause a graph rebuild when changed. This was violated in the original code that was building force field links, while taking zero field weights into account. This change may cause new dependency cycles in cases where necessary dependencies were missing, but may also remove cycles in situations where unnecessary links were previously created. It's also now possible to solve some cycles by switching to explicit groups, since they are now properly taken into account for dependencies. Differential Revision: https://developer.blender.org/D2141
2016-08-08Fix ID types DAG update tagging.Kévin Dietrich
The first character of the ID type was used to tag IDs for updates which is weak since different IDs can have the same first character (for example meshes, materials and metaballs), causing unnecessary updates of unrelated IDs. Now we use a unique index per ID type to tag for updates, unifying IDs arrays indexing along the way. Reviewers: sergey, mont29 Differential Revision: https://developer.blender.org/D2139
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060
2016-06-23Fix T48658: Cycles render & render preview corrupts particlesCampbell Barton
Replaces `G.is_rendering` with `use_render_params` argument. This is needed for Cycles, which attempts to restore render-preview settings from particles, after it gets its own particle data, but fails to restore because `G.is_rendering` was being checked in psys_cache_paths (and other places).
2016-04-28Fix T47715: EXCEPTION_ACCESS_VIOLATION crash when removing modifiers or ↵Sergey Sharybin
rendering The issue was caused by missing indirect dependencies from other scenes in the current scene depsgraph, which was causing some threading conflicts. Not sure what would be ideal solution here, for now use stupid but rather robust approach to solve that. Maybe there's something better to do here tho.
2016-03-05Fix for missing update changing VFont.filepathCampbell Barton
Changing the filepath wouldn't reload the font even after calling scene.update().
2016-02-15Cleanup: reorganize BKE ID tagging functions.Bastien Montagne
BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those into flags (for presistent one) and tags (for runtime ones). Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_' functions affect flags.
2016-02-03Fix T47266: Blender crashes from Scripted Expression in DriverSergey Sharybin
Issue was caused by update RNA callbacks freeing the dependency graph, which is only needed to tag depsgraph for rebuild. Solved by using a flag for the depsgraph which indicated that it is to be rebuilt.
2016-01-24Depsgraph: Add missing relations between driver and particle settingsSergey Sharybin
While it's not really working reliably to drive something on runtime it's handy to have such possibility to tune particle system using proxies in the scene files. Just another quick thing for the Nieve project.
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-11-01Cleanup: remove unused scene recalcCampbell Barton
2015-10-27OpenSubdiv: Fix wrong handling of vertex parentSergey Sharybin
Vertex parent was not registered as CPU data requirement. Should be in the 'a' release.
2015-10-08Modifiers: add 'cd_flag' parameter to their ID looping callbacks, neededBastien Montagne
since some IDs (objects) are not 'refcounted' while others (textures) are... Partial merge from id-remap branch.
2015-10-07Cleanup: spellingCampbell Barton
2015-10-06Fix T46385: Duplicate w/ vertex parent failsCampbell Barton
Depsgraph customdata flag was set on the parent, then cleared once the parent object was handled. This is initialized to zero for new nodes, no need to clear.
2015-09-05Fix T45938: Ocean modifier animation not working with NLA action-strip (old ↵Joshua Leung
depsgraph only) When a modifier was animated by a NLA strip, this animation was not working when using the old depsgraph. This was because the code which checks if a NLA strip affects any modifiers was missing - specifically, it was originally left out as it was thought that it was unlikely that many users would need this, but adding in those checks would have a (slight) negative effect files where there are heaps of NLA strips but modifiers animated this way were absent. The new depsgraph however doesn't suffer from this problem, as these sorts of checks need ot be built into the graph-building stage for everything to work, so these links had already been added.
2015-09-01Depsgraph: Fix compilation error with legacy depsgraph disabledSergey Sharybin
Reported by Campbell on IRC, partial patch by him as well.
2015-08-28Fix T45929: OpenSubdiv was doing extra object recalc tagsSergey Sharybin
2015-08-27Fix T45702: Editing smoke while viewport render and blender bugSergey Sharybin
Issue was caused by blender internal accessing data from DNA during rendering. There's no simple solution to make stuff thread safe, so for now simply restart rendering on frame update.
2015-08-03OpenSubdiv: Make new geometry relations ensures dependent data exists on CPUSergey Sharybin
2015-08-03OpenSubdiv: Resolve crashes when other object depends on subsurf-ed objectSergey Sharybin
Cases like using subsurfed object as a boolean operand can't be evaluated on GPU and needs to have all the CCG on CPU. This commit resolves existing configuration to survive, but new configurations would need to have some sort of forced object update so all the data is being moved on CPU if it was previously on GPU.
2015-05-12Cleanup: styleCampbell Barton