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
2017-11-24Depsgraph: Cleanup, indentationSergey Sharybin
2017-11-24Depsgraph: Allow finding operations after construction is doneSergey Sharybin
2017-11-24Depsgraph: Make has_ prefixed function to return booleanSergey Sharybin
2017-11-24Depsgraph: Introduce explicit method which finds operation or returns NULLSergey Sharybin
2017-11-24Depsgraph: Make more clear what find_operation() is doing for componentSergey Sharybin
2017-11-23Depsgraph: Cleanup, deduplicate code around component registrationSergey Sharybin
2017-11-23Depsgraph: Cleanup, always call full `object`Sergey Sharybin
2017-10-25Depsgraph: Remove unsued node flagSergey Sharybin
2017-06-13Depsgraph: Pass function bindings by const referenceSergey Sharybin
Avoids using copy-constructor invoked every time we pass function to the builder functions. Should lower number of CPU ticks spent during DEG construction.
2017-06-13Depsgraph: Remove root node conceptSergey Sharybin
Was rather weird and only used for time source. It is simpler to make depsgraph to keep track of time source directly. No need to introduce extra entitites without actual need.
2017-06-12Depsgraph: Remove residue from partial updates supportSergey Sharybin
2017-06-06Depsgraph: Only use extern "C" when really neededSergey Sharybin
2017-06-01Depsgraph: Remove operation types enumSergey Sharybin
Was only used to indicate entry/exit operation of component, which is now done explicitly. No reason to keep something which is unused and confusing.
2017-06-01Depsgraph: use explicit marking of component entry/exit operationsSergey Sharybin
This isn't used too often, and haivng such API will let us to skip specifying operation type for all oeprations.
2017-06-01Depsgraph: Cleanup, use DEG_NODE_CLASS prefix for node classesSergey Sharybin
2017-06-01Depsgraph: Cleanup, use DEG_NODE_TYPE prefix for depsgraph node typesSergey Sharybin
2017-06-01Depsgraph: Remove subgraph nodesSergey Sharybin
Those were never finished nor used. Again, starting from clean state before we go into more complicated details.
2017-05-30Move hash_combine utility function to a more generic placeSergey Sharybin
This way everyone can benefit from it, not only dependency graph.
2016-11-07Depsgraph: Do not rely on indirectly included cstringSergey Sharybin
Also add comment why exactly cstring is needed.
2016-11-07Despgraph: Optimize cycles detection algorithmSergey Sharybin
The idea is simple: when falling back to one of the nodes which was partially handled we "resume" checking outgoing relations from the index which we stopped. This gives about 15-20% depsgraph construction time save.
2016-11-07Depsgraph: Move class implementation from header to implementation filesSergey Sharybin
This is more proper way to go: - Avoids re-compilation of all dependent files when implementation changes without changed API, - Linker should have much simpler time now de-duplicating and getting rid of redundant implementations.
2016-11-07Depsgraph: Fully switch from string to const char*Sergey Sharybin
This brings up to 10-20% depsgraph build time improvement in the layout files from the studio repository.
2016-11-07Depsgraph: Add extra name tag for operation nodesSergey Sharybin
The idea here is to address issue that name on it's own is not always unique: for example, when adding driver operations the name used for nodes is the RNA path (and multiple drivers can write to different array indices of the path). Basically, now it's possible to pass extra integer value to distinguish operations in such cases. So now we've already switched from sprintf() to construct unique operation name to pass RNA path and array index. There should be no functional changes yet, but this work is required for further work about replacing string with const char*.
2016-11-07Depsgraph: Remove unused functionSergey Sharybin
A residue from times where we thought to do partial graph updates, which we are not committing any time soon.
2016-11-07Depsgraph: Remove some includes which seems unusedSergey Sharybin
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-07-26Depsgraph: Use proper check whether ID is an objectSergey Sharybin
Fixes bug which resulted in making it so layers from all layers are getting updated. Reported by Juan Pablo Bouza.
2016-07-26Depsgraph: Use proper unsigned int bitfield for layers flagsSergey Sharybin
2016-07-13Depsgraph: Accumulate object layers from all basesSergey Sharybin
This solves bug when same object is instanced from multiple bases.
2016-06-21Fix for string buffer overflow in DepsNode identifiers.Lukas Tönne
Layer flags can go up to 2^n-1 for n layers, requiring *at least* 9 chars + 1 terminator for 20 layers.
2016-06-18Cleanup: style, whitespace, doxy filepathsCampbell Barton
2016-06-08Depsgraph: Remove unused codeSergey Sharybin
Became obsolete after recent changes.
2016-06-01Depsgraph: Fix missing updates when modifying armatureSergey Sharybin
2016-05-30Depsgraph: Fix wrong layers flush form children to parentSergey Sharybin
It was possible to have issues in cases when several child dependencies goes to IDs with different layers. In this case order of flushing was not really well defined, which could lead to cases when indirect dependency via invisible object wouldn't work. Need some sort of barrier to prevent scheduling of parent nodes for until all children are done, but that's becoming quite nasty thing to implement. Added a temp field to component for now. maybe it's not so crazy actually and we might use it for evaluation as well, so we wouldn't flush updates to components which does not affect visible stuff.
2016-05-27Depsgraph: Cleanup and code simplificationSergey Sharybin
This is mainly a maintenance commit which was aimed to make work with this module more pleasant and solve such issues as: - Annoyance with looong files, which had craftload in them - Usage of STL for the data structures we've got in BLI - Possible symbol conflicts - Not real clear layout of what is located where So in this commit the following changes are done: - STL is prohibited, it's not really predictable on various compilers, with our BLI algorithms we can predict things much better. There are still few usages of std::vector, but that we'll be solving later once we've got similar thing in BLI. - Simplify foreach loops, avoid using const_iterator all over the place. - New directory layout, which is hopefully easier to follow. - Some files were split, some of them will be split soon. The idea of this is to split huge functions into own files with good documentation and everything. - Removed stuff which was planned for use in the future but was never finished, tested or anything. Let's wipe it out for now, and bring back once we really start using it, so it'll be more clear if it solves our needs. - All the internal routines were moved to DEG namespace to separate them better from rest of blender. Some places now annoyingly using DEG::foo, but that we can olve by moving some utility functions inside of the namespace. While working on this we've found some hotspot in updates flush, so now playback of blenrig is few percent faster (something like 96fps with previous master and around 99-100fps after this change). Not saying it's something final, there is still room for cleanup and API simplification, but those might happen as a regular development now without doing any global changes.