Sergey Sharybin
99ffd7b35d
Depsgraph: Fix/workaround crash when toggling edit mode
2017-11-21 15:34:13 +01:00
Sergey Sharybin
2b1a354d64
Depsgraph: Fix crash removing object when CoW is enabled
...
Not sure why that check was even done there. Maybe some residue of debug.
2017-11-21 14:23:58 +01:00
Julian Eisel
7f96323cd0
Merge branch 'master' into blender2.8
2017-11-19 13:16:14 +01:00
Campbell Barton
40c8a18229
Cleanup: style
2017-11-18 17:22:54 +11:00
Sergey Sharybin
44183a3535
Merge branch 'master' into blender2.8
2017-11-17 15:28:36 +01:00
Sergey Sharybin
9c0a38ee33
Depsgraph: Add missing checks from previous commit
2017-11-17 15:27:02 +01:00
Sergey Sharybin
2d89b43fd2
Merge branch 'master' into blender2.8
2017-11-17 15:00:55 +01:00
Sergey Sharybin
c45afcfa81
Depsgraph: Don't make non-dynamic hair dependent on time
...
This way hair system used for static forest does not make playblack slow.
A bit dangerous, but let's see how far we can go!
2017-11-17 14:57:57 +01:00
Dalai Felinto
258292abc0
Merge commit '212a8d9e5ae7^' into blender2.8
2017-11-15 07:07:27 -02:00
Campbell Barton
b5eeec715e
Cleanup: remove BLI_blenlib from ghash header
...
This causes source files to depend on ghash header
for BLI_string/rect/listbase.
Also quiet warnings.
2017-11-14 17:08:34 +11:00
Dalai Felinto
f402638211
Cleanup on depsgraph logic
2017-11-13 12:17:14 -02:00
Dalai Felinto
1cb6cea71c
Merge remote-tracking branch 'origin/master' into blender2.8
2017-11-13 11:48:48 -02:00
Sergey Sharybin
8a03e4d409
Depsgraph: Fix relations for metaballs
...
Initially spotted and investigated by Dalai and Germano.
2017-11-13 14:43:08 +01:00
Dalai Felinto
7defb27f08
Farewell BaseLegacy
...
Finally, bases are all using the latest, newest SceneLayer bases.
2017-11-09 15:45:19 -02:00
Sergey Sharybin
3dde21f97e
Depsgraph: Fix broken copy-on-write draw after ownership changes
...
Need to build layer collections callbacks using proper CoW pointer.
2017-11-09 16:42:54 +01:00
Sergey Sharybin
92020077e6
Depsgraph: Pass CoW pointer to ID datablocks evaluation functions
...
The only remaining part is the particle stuff, which needs a pointer to exact
particle system which does not exist yet. Leaving it for later a bit for until
it's more clear what do we do with particles.
Unless i'm mistaken, we've got all proper CoW pointers bound now.
2017-11-09 13:56:43 +01:00
Sergey Sharybin
ec0e35f178
Depsgraph: Cleanup, make it more clear what layer is
2017-11-09 11:52:13 +01:00
Sergey Sharybin
e30972deae
Depsgraph: Cleanup
2017-11-09 11:43:41 +01:00
Sergey Sharybin
0ad54b5ba3
Depsgraph: Only build collections for current graph scene layer
2017-11-09 11:43:41 +01:00
Sergey Sharybin
f2b4a59be6
Depsgraph: Cleanup, no explicit usage of std in code
...
Code is supposed to be pure-C-ish with some C++-ism. All specifics are to be
handled in header files.
2017-11-09 11:24:51 +01:00
Sergey Sharybin
d325e6f0e8
Depsgraph: Make dependency graph to be built from scene layer
...
This is a final step of having proper ownership. Now selecting different
layers in the "top bar" will actually do what this is expected to do.
Surely, there are still things to be done under the hood, that will happen
in a less intrusive way.
2017-11-09 11:20:17 +01:00
Sergey Sharybin
c99481b632
Merge branch 'master' into blender2.8
2017-11-09 10:59:15 +01:00
Sergey Sharybin
8d7ec519df
Depsgraph: Add missing handlers of node IDs
...
Worst thing was that point density did not pull object into dependency graph,
which could lead to wrong render results.
2017-11-09 10:33:44 +01:00
Sergey Sharybin
5e38ee996c
Depsgraph: Remove chains of scene being passed all over in relations builder
2017-11-09 10:33:44 +01:00
Sergey Sharybin
f424d5b5c9
Depsgraph: Cleanup, remove scene being passed all over
...
Use the state one instead.
2017-11-09 10:33:44 +01:00
Sergey Sharybin
ad986ae29e
Depsgraph: Remove bmain from internal builder API
...
Use the one from state.
2017-11-09 10:33:44 +01:00
Sergey Sharybin
887c2e5c0d
Depsgraph: Make bmain part of builder state and remove bmain from public API
2017-11-09 10:33:44 +01:00
Sergey Sharybin
70e34ac186
Depsgraph: Cleanup, use google style for private members
2017-11-09 10:33:44 +01:00
Sergey Sharybin
9f0842bbe8
Depsgraph: Synchronize nodes and relations builders
2017-11-09 10:33:44 +01:00
Sergey Sharybin
1018683def
Depsgraph: Fix wrong ID type being compared
2017-11-09 10:33:44 +01:00
Sergey Sharybin
98425563ed
Depsgraph: Cleanup, reduce indentation level
2017-11-09 10:33:43 +01:00
Sergey Sharybin
449687d50a
Depsgraph: Assert when node uses unhandled ID type
2017-11-09 10:33:43 +01:00
Sergey Sharybin
19c14f0c8a
Subject: [PATCH 2/3] Depsgraph: Replace iteration over ghash with iteration over flat array
2017-11-08 15:02:19 +01:00
Dalai Felinto
535adcdaa3
Depsgraph: Iterates over ID Nodes instead of Bases
...
Although this works by itself, it should actually happen after:
"Reshuffle collections base flags evaluation, make it so object is gathering
its base flags from collections."
Meanwhile we have one single hacky function (deg_flush_base_flags_and_settings)
to be removed once the task above is tackled.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D2899
2017-11-06 17:51:16 -02:00
Bastien Montagne
91af8f2ae2
Merge branch 'master' into blender2.8
...
Conflicts:
intern/cycles/device/device.cpp
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/material.c
source/blender/editors/object/object_add.c
source/blender/editors/object/object_relations.c
source/blender/editors/space_outliner/outliner_draw.c
source/blender/editors/space_outliner/outliner_edit.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/util/ed_util.c
source/blender/windowmanager/intern/wm_files_link.c
2017-11-06 18:02:46 +01:00
Bastien Montagne
66a6d160fe
Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.
...
This makes code closer to id_override/assent-engine ones, which
introduce a new type of linked data, and hence reserve
ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-11-06 17:17:10 +01:00
Sergey Sharybin
db83f41baf
Merge branch 'master' into blender2.8
2017-10-25 14:42:49 +02:00
Sergey Sharybin
8988f383c1
Depsgraph: Cleanup, remove redundant calls to add_component
2017-10-25 14:40:38 +02:00
Sergey Sharybin
c4991c0971
Depsgraph: Remove bmain from graph
...
It really should not care about bmain.
2017-10-25 13:28:40 +02:00
Sergey Sharybin
4deddfca89
Depsgraph: Pass explicit bmain to graph build finalization
2017-10-25 13:28:40 +02:00
Sergey Sharybin
d8da33d21c
Merge branch 'master' into blender2.8
2017-10-25 11:48:20 +02:00
Sergey Sharybin
6ec8344243
Depsgraph: Add missing movie clip dopesheet invalidation
2017-10-25 11:45:31 +02:00
Sergey Sharybin
eb090d0609
Depsgraph: Use explicit opcode for shape key
2017-10-25 11:37:24 +02:00
Sergey Sharybin
a2e22c79cb
Depsgraph: Cleanup, use explicit cloth modifier opcode
...
Avoids use of placeholder operation which also was involving some string
comparisons.
2017-10-25 11:34:41 +02:00
Sergey Sharybin
3997a157e9
Depsgraph: Cleanup, don't call explicit add_id()
...
This is redundant, adding components will check for ID to exist.
2017-10-25 11:31:22 +02:00
Sergey Sharybin
1bdc687e7a
Depsgraph: Use explicit parameters eval operation code
...
This replaces usage of generic PLACEHOLDEWR with string lookup with more
explicit opcode. This should make it faster to build dependency graph by
avoiding string comparisons when it's not needed.
There should be no user measurable different.
2017-10-25 11:25:10 +02:00
Sergey Sharybin
11d7445905
Depsgraph: Cleanup, use proper style for macro loop
2017-10-25 11:25:10 +02:00
Sergey Sharybin
45329ce319
Depsgraph: Remove unsued node flag
2017-10-25 11:25:10 +02:00
Sergey Sharybin
ea29e4c997
Depsgraph: Make operation codes more obvious
...
This synchronizes al lrelated changes from blender2.8 branch.
2017-10-25 11:25:10 +02:00
Sergey Sharybin
3e8abc0535
Depsgraph: Make Copy-on-Write a command line option
...
Before it was a compile time option which was not very easy to use or test. Now
the project is getting more mature, so very soon we will be able to call for a
public tests of limited features.
The copy-on-write (which includes animation, modifiers) is enabled using
--enable-copy-on-write command line argument.
2017-10-18 14:35:34 +02:00