Brecht Van Lommel
817bf582c2
Cleanup: rename object base flags to be more clear.
2018-06-25 14:09:17 +02:00
Bastien Montagne
b1e86ff385
Cleanup: misc DrivedMesh stuff.
2018-06-22 16:59:38 +02:00
Bastien Montagne
995a1815f5
Fix T55408: Double transforms on parents/children.
...
object.base_flag was not synced back from evaluated ID to original one.
Similar thing as copying back to original transform matrix, avoids
having to get data from evaluated one in lots of cases.
2018-06-15 12:17:26 +02:00
Sergey Sharybin
c279592123
Depsgraph: Don't update derived mesh for particles on render
...
Render depsgraph is evaluated from scratch, so it should not be needed
to do such a call.
This also prevents modifier stack from being evaluated on top of already
evaluated mesh
2018-06-12 14:30:50 +02:00
Bastien Montagne
160cb9a284
Merge branch 'master' into blender2.8
...
Conflicts:
intern/cycles/blender/blender_object.cpp
source/blender/alembic/intern/abc_exporter.cc
source/blender/alembic/intern/abc_mball.cc
source/blender/alembic/intern/abc_mball.h
source/blender/blenkernel/BKE_anim.h
source/blender/blenkernel/BKE_displist.h
source/blender/blenkernel/BKE_dynamicpaint.h
source/blender/blenkernel/BKE_group.h
source/blender/blenkernel/BKE_mball.h
source/blender/blenkernel/BKE_mball_tessellate.h
source/blender/blenkernel/BKE_object.h
source/blender/blenkernel/BKE_scene.h
source/blender/blenkernel/intern/anim.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/displist.c
source/blender/blenkernel/intern/dynamicpaint.c
source/blender/blenkernel/intern/group.c
source/blender/blenkernel/intern/mball.c
source/blender/blenkernel/intern/mball_tessellate.c
source/blender/blenkernel/intern/mesh_convert.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/object_dupli.c
source/blender/blenkernel/intern/object_update.c
source/blender/blenkernel/intern/pointcache.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/smoke.c
source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
source/blender/editors/include/ED_object.h
source/blender/editors/object/object_add.c
source/blender/editors/object/object_edit.c
source/blender/editors/object/object_modifier.c
source/blender/editors/physics/dynamicpaint_ops.c
source/blender/editors/sculpt_paint/paint_vertex.c
source/blender/editors/sculpt_paint/sculpt_uv.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/transform/transform_conversions.c
source/blender/editors/transform/transform_snap_object.c
source/blender/editors/util/ed_util.c
source/blender/gpu/intern/gpu_material.c
source/blender/makesrna/intern/rna_meta.c
source/blender/makesrna/intern/rna_object_api.c
source/blender/modifiers/intern/MOD_dynamicpaint.c
source/blenderplayer/bad_level_call_stubs/stubs.c
2018-06-11 14:39:38 +02:00
Bastien Montagne
d0956e9cb3
Cleanup: Moar G.main removal of Hell.
...
This commit actually adds some G.main... but at much, much higher level
than the ones it removes, so should still be better ;)
2018-06-11 12:15:14 +02:00
Sergey Sharybin
86aaa3efba
Fix T55126: COW problem: there is an active object even if unselectable
2018-06-07 16:31:10 +02:00
Sergey Sharybin
59a516913e
Depsgraph: Copy evaluated data to original datablock
...
Only do it for active dependency graph.
Currently covers animation, drivers, object and pose channel matricies.
2018-05-31 18:07:55 +02:00
Sergey Sharybin
cd702db338
Animation: Pass dependency graph to animation system
...
This way we allow animation system to make decisions based on which
context dependency graph is coming from, and whether it belongs to
an active edit window or not.
2018-05-31 18:07:55 +02:00
Bastien Montagne
b53d358261
Cleanup: remove G.main from BKE modifier.
2018-05-31 15:24:30 +02:00
Sergey Sharybin
29f9a19708
Modifier stack: Avoid roundtrip from mesh to DM back to mesh
...
Saves quite a bit of CPU ticks per mesh update, giving measurable
speedup for file from T55228.
Memory usage goes up a it, most likely due to evaluated mesh having
more custom data layers than corresponding DM does.
2018-05-30 14:29:05 +02:00
Sergey Sharybin
9abbf73d3f
Cleanup: Wrap object runtime eval members into own struct
2018-05-30 11:11:03 +02:00
Sergey Sharybin
d709705203
Cleanup: Naming, match policy with rest of copy-on-write design
2018-05-30 10:24:54 +02:00
Dalai Felinto
e2bac484e0
Use correct time for curve parent evaluation
...
Time should alwaus come from depsgraph, not scene.
2018-05-29 17:05:32 +02:00
Brecht Van Lommel
359469a39a
Fix T55204: proxy object disappearing randomly.
...
The problem was a missing depsgraph relation between the transforms of
the object and its proxy, it was only there for the pose.
2018-05-28 23:24:16 +02:00
Dalai Felinto
fbc65c6b28
Fix T55165: Driving camera lens with property behaves unexpectedly
...
Differential Revision: https://developer.blender.org/D3438
2018-05-25 12:48:33 +02:00
Brecht Van Lommel
b642b510e1
Fix T55168: missing updates when switching particle system type.
2018-05-23 18:59:26 +02:00
Sergey Sharybin
07dee0f79c
Fix missing autosmooth in Cycles after copy-on-write changes.
2018-05-23 13:25:06 +02:00
Sergey Sharybin
5cea8bf435
Draw manager: Initial implementation of key points visualization
...
Does all points all the time, ignoring the setting in viewport header.
This is to be addressed by the next commit.
2018-05-09 14:59:48 +02:00
Brecht Van Lommel
e6d11c6ce6
Collections: remove per collection and view layer engine overrides.
...
This will be handled by the new view layer override system which will
store data elsewhere, removing the code already for easier refactoring.
2018-05-08 17:46:20 +02:00
Mai Lavelle
b626360857
Add note about compat code in uber eval causing modifiers to be applied twice
2018-05-08 02:47:49 -04:00
Sergey Sharybin
65e6654c85
Depsgraph: Allow per-depsgraph debug flags
...
Currently only affects EVALUATION debug messages, rest are to be
supported on per-depsgraph level.
2018-05-02 17:09:44 +02:00
Sergey Sharybin
b352d2705d
Depsgraph: Fix crash with copy-on-write enabled
...
Was caused by ec0756af6c , once again, we can't pass view layer,
need to pass index.
The sad part is that currently we don't have quick way to look up
view layer by index. Can do similar thing as we do for bones and
bases.
2018-04-19 12:05:17 +02:00
Sergey Sharybin
ec0756af6c
Depsgraph: Fix base flag flush for objects from set scene
...
Fixes view_layer_background_set regression test.
This makes Dalai happy! :)
2018-04-18 18:05:37 +02:00
Brecht Van Lommel
34ab90f546
Depsgraph: remove EvaluationContext, pass Depsgraph instead.
...
The depsgraph was always created within a fixed evaluation context. Passing
both risks the depsgraph and evaluation context not matching, and it
complicates the Python API where we'd have to expose both which is not so
easy to understand.
This also removes the global evaluation context in main, which assumed there
to be a single active scene and view layer.
Differential Revision: https://developer.blender.org/D3152
2018-04-16 19:55:33 +02:00
Campbell Barton
bfc9d426bb
Multi-Object Editing
...
This adds initial multi-object editing support.
- Selected objects are used when entering edit & pose modes.
- Selection & tools work on all objects however many tools need porting
See: T54641 for remaining tasks.
Indentation will be done separately.
See patch: D3101
2018-04-16 17:56:50 +02:00
Brecht Van Lommel
f0a4c631bb
Fix incorrect object in editmode tests in depsgraph eval.
...
These cases should not depend on the view layer.
2018-04-13 13:04:19 +02:00
Sergey Sharybin
fac1892e11
Depsgraph: Bind base by it's index
...
For the performance we convert object bases list to an array
during view layer evaluation. This makes it possible to have
very cheap index-based base lookup.
The goal of this change is to get rid of base used for function
binding, and avoid scene datablock expansion at the depsgraph
construction time.
2018-04-12 11:05:18 +02:00
Campbell Barton
1c24c04e60
Remove workspace object mode, reverts changes w/ 2.8
...
This caused too many problems syncing object modes
with multiple objects/windows/workspaces, see: D3130 for details.
2018-04-05 18:21:14 +02:00
Sergey Sharybin
5baf0de6e7
Merge branch 'master' into blender2.8
2018-03-16 11:24:41 +01:00
Sergey Sharybin
3baf31e73a
Depsgraph: Move evaluation debug prints to depsgraph
...
This way we can easily control format and keep it consistent.
And also possibly do other trickery, like coloring addresses!
2018-03-16 11:14:38 +01:00
Sergey Sharybin
d4ee0cee51
Merge branch 'master' into blender2.8
2018-02-21 10:51:58 +01:00
Sergey Sharybin
fe1a508e55
Depsgraph: Split debug flags
...
Now it's possible to have debug messages for following things:
- Graph construction
- Graph evaluation
- Graph tagging
2018-02-21 10:44:36 +01:00
Campbell Barton
c8597a465f
Object Mode: remove Scene.obedit
...
Add ED_screen_window_find, BKE_workspace_edit_object
2018-02-13 20:55:12 +11:00
Dalai Felinto
0e2bc1a4ac
Make object_update comment about lack of ID even more clear
2018-01-26 09:15:56 -02:00
Sergey Sharybin
539e170d79
Depsgraph: Fix crahs when selecting objects
...
Was wasy to reproduce by hitting A-key.
Missing part of the recent orig_id pointer commit.
2018-01-18 14:14:53 +01:00
Sergey Sharybin
3b706723ac
Depsgraph: Remove clear of legacy unused flag
2017-12-01 12:18:19 +01:00
Sergey Sharybin
0439733cf8
Merge branch 'master' into blender2.8
2017-11-29 16:32:50 +01:00
Sergey Sharybin
86847bf5ba
Cleanup: Split depsgraph uber transform function callback
2017-11-29 16:22:59 +01:00
Sergey Sharybin
0af91d7fe6
Cleanup: Remove unused argument
2017-11-29 16:15:52 +01:00
Sergey Sharybin
aad711d064
Merge branch 'master' into blender2.8
2017-11-29 15:47:00 +01:00
Sergey Sharybin
60703e45f3
Transform: Avoid use of ob->recalc in snapping code
...
Do a direct update of object transform instead, without involving
manual trickery of recalc flag.
Shouldn't be functional changes as far as artists are concerned,
but will allow us to get rid of recalc flags in 2.8.
Thanks Bastien for review!
2017-11-29 15:37:09 +01:00
Sergey Sharybin
a1500fe865
Depsgraph: Do log from newly base flag flush function
2017-11-24 16:07:38 +01:00
Sergey Sharybin
272da2790b
Depsgraph: Correct wrong base_flags for objects coming from set scene
2017-11-24 15:46:25 +01:00
Sergey Sharybin
87c821ff26
Depsgraph: Flush flags from base to object as an evaluation step
...
Previously it was done during depsgraph iteration, which is not good at all,
since after evaluation nobody should really modify how object was evaluated.
2017-11-24 10:19:48 +01:00
Sergey Sharybin
a5d763a11e
Depsgraph: Use depsgraph to handle edit mode selection
...
This is crucial bit since batch cache is stored in the evaluated object,
meaning we can't tag it's hatch cache dirty from the notifier system.
Not easily at least. Better to leave this job to depsgraph, it knows
all the copies of data.
2017-11-24 10:19:48 +01:00
Sergey Sharybin
6ee7a02558
Depsgraph: Tag evaluated mesh as such
...
Helps troubleshooting.
2017-11-21 15:33:48 +01:00
Sergey Sharybin
0debe33617
Depsgraph: Report pointer from object evaluation functions
2017-11-21 14:46:02 +01:00
Germano
88c88c4610
Fix T51210: Draw Manager: Support for Metaball Drawing
...
Differential Revision: D2914
2017-11-16 15:12:32 -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