May 26, 2014, 08:12 (GMT) |
Added missing node class for particle eval components. |
May 26, 2014, 08:02 (GMT) |
Fix for ik eval operation: this is added to bone components, so has to be declared a bone operation as well. |
May 26, 2014, 06:54 (GMT) |
Nicer coloring scheme for nodes in graphviz output. Uses fewer colors and makes them based on node "class" primarily, which is less noisy and easier to understand. |
May 26, 2014, 05:56 (GMT) |
Fix for assert: has to take the 'done' argument into account. |
May 26, 2014, 05:52 (GMT) |
Seed the priority queue with the entry nodes, then wait until all tasks are handled. |
May 26, 2014, 05:52 (GMT) |
Proper init/exit for the depsgraph scheduler. |
May 25, 2014, 12:54 (GMT) |
Removed the users refcount and mutex from the DepsgraphScheduler. This was introduced by cycles to automatically disable the render engine when it's not in use, but doesn't make a lot of sense for the dependency graph. It adds unnecessary complexity here. |
May 25, 2014, 09:09 (GMT) |
Extended scheduler implementation, adding task pools. This is a concept added by Cycles and the current depsgraph. It allows sorting tasks into groups (pools) and wait/stop/cancel them based on these groups. This might come in handy later for different evaluation contexts. |
May 23, 2014, 15:34 (GMT) |
Properly lock the priority queue mutex when scheduling operations. |
May 23, 2014, 15:16 (GMT) |
Added a settings struct for depsgraph statistics/logging/debug to user preferences. Currently only has a generic "statistics" option, will be extended later. |
May 22, 2014, 13:21 (GMT) |
Added threading system to evaluate the depsgraph nodes as managed by the scheduler. This follows the same principles as the TaskScheduler/TaskPool systems in cycles and the existing depsgraph, but uses a more flexible priority loop instead of the simple low/high priority there. |
May 22, 2014, 13:21 (GMT) |
Calculate the number of pending parents (input nodes that need updates) before the depsgraph evaluation. |
May 22, 2014, 13:21 (GMT) |
Automatically rebuild the new depsgraph in Scene alongside the old one. This may later get deprecated, e.g. by moving depsgraph outside of Scene, but for now this is easiest to use. |
May 22, 2014, 13:21 (GMT) |
Run a depsgraph evaluation of the new depsgraph alongside the current scene updates. This will allow more immediate testing of the scheduler. |
May 22, 2014, 11:30 (GMT) |
Depsgraph: Yet another scons build fix (for modifiers module this time) |
May 22, 2014, 11:06 (GMT) |
Depsgraph: Fix for building depsgraph module under SCons (part 2) The build was failing on SCons + mingw64 since some defines were needed to get around some C++ "standard library" crap which isn't at all standardly (or at least not in the same namespace) available yet. Copied over some existing code for dealing with this from the Ceres stuff (extern/libmv/third_party/ceres/SConscript) so that this works. |
May 22, 2014, 07:37 (GMT) |
Depsgraph: Fixed SCons buildsystem |
May 21, 2014, 21:04 (GMT) |
Basic Scheduler class for the depsgraph. |
May 20, 2014, 22:11 (GMT) |
First steps toward scheduling: calculate priorities for all nodes based on their dependants. This heuristic can be improved later for more optimized scheduling. The basic idea is to push all nodes which are evaluatable (all dependencies satisfied) onto the queue, then pop the highest priority node for evaluation. |
May 20, 2014, 19:28 (GMT) |
Added utility header for a priority_queue implementation. In case this is not universally available on all systems (as with unordered_map), we can still add fallback implementations there later. |
|