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
Bastien Montagne
8055ed2741
Cleanup: remove some G.main usages...
2018-06-11 12:15:14 +02:00
Campbell Barton
f2e60b53a7
Fix pchan head/tail original values not being set
2018-06-11 11:37:22 +02:00
Sergey Sharybin
4ac87d58eb
Merge branch 'master' into blender2.8
2018-06-11 11:06:43 +02:00
Sergey Sharybin
28c34ae7e2
Cleanup: Use BLI_strncpy
...
It has behavior which we expect, and silences strict compiler warning.
2018-06-11 11:06:15 +02:00
Campbell Barton
419a813938
Merge branch 'master' into blender2.8
2018-06-09 18:48:11 +02:00
Campbell Barton
83cb34ccd1
Cleanup: unused functions
2018-06-09 18:47:39 +02:00
Bastien Montagne
70f8eaf1b7
Merge branch 'master' into blender2.8
...
Conflicts:
source/blender/editors/space_view3d/drawobject.c
2018-06-09 15:18:21 +02:00
Bastien Montagne
638de72277
Cleanup: remove some G.main usages.
2018-06-09 15:17:04 +02:00
Dalai Felinto
f8d7df6f16
Depsgraph: Remove no longer needed nodetree values copying on eval
...
Note: Depsgraph still calls the nodetree eval function that doesn't
nothing in turn. We can remove it, but it is harmless though.
2018-06-08 17:52:49 +02:00
Bastien Montagne
3e86bb2d0b
Sculpt/Paint: move PBVH building to use evaluated mesh instead of deprecated Derivedmesh.
...
Pretty straightforward changes, merely mimicking dm-related code,
which was already essentially using either Mesh or BMesh data to
build the PBVH...
Note that we "lose" the subsurf (a.k.a. grid) PBVH case here, but that
one was already dead code in current blender2.8, since final dm is
always a cddm built from evaluated mesh.
Proper fix is pending new code for subsurf/multires area.
2018-06-08 17:23:25 +02:00
Dalai Felinto
9d59d20957
DRW: Fix animated material not refreshing
...
This introduces a garbage collection system similar to gpu_texture.
2018-06-08 16:29:33 +02:00
Sergey Sharybin
0417f205f5
Fix crash with wertex and weight modes
...
Similar to recent sculpt mode.
2018-06-08 16:24:07 +02:00
Sybren A. Stüvel
2a771cbc58
Alembic: Moved a BLI_assert
...
The assert should only be triggered when assigning a pointer, and not
simply when checking the pointer.
2018-06-08 15:51:49 +02:00
Sybren A. Stüvel
335e030753
mesh_get_eval_final() should check ob->runtime.mesh_eval
...
It has nothing to do with ob->derivedFinal, which it checked before.
2018-06-08 15:51:49 +02:00
Bastien Montagne
934b9e80d0
Add check in BKE_pbvh_apply_vertCos that number of deforming cos matches number of pbvh vertices.
...
This shall help catching issues in future.
2018-06-08 15:43:57 +02:00
Sybren A. Stüvel
33437719c1
Alembic import: fixed memory management for CoW copies of CacheFile blocks
...
When a CacheFile datablock is copied to an in-main datablock, it means that
the new copy should be independent of the old copy. In this case certain
properties are reset/duplicated. When it is copied to a no-main datablock,
we assume this is a copy-on-write copy that's used for evaluating things,
in which case the handle and object paths are referenced instead of
reset/ duplicated. This prevents us from re-opening the Alembic file every
time a new CoW copy is made.
The same approach is taken when freeing data (only when an in-main datablock
is freed do we actually free the data).
2018-06-08 13:52:53 +02:00
Sybren A. Stüvel
0c7fc3a961
Alembic import: assign cache_file handle to original datablock
2018-06-08 13:52:53 +02:00
Bastien Montagne
7b6af843c2
Cleanup: getting rid of G.main.
...
Sometimes one needs a *lot* of changes for a single G.main... :/
2018-06-08 12:17:22 +02:00
Jeroen Bakker
3926ec6aa1
Studiolight: Segment when using float based matcaps
2018-06-08 12:11:05 +02:00
Jeroen Bakker
b3c8ffcb3e
Workbench: UI for custom studio lights/matcaps
...
- all known image types are supported
- BpyAPI for studiolights added
- added open user pref operator in shading menu
- possible to add multiple files in a single run
For now refreshing studio lights will free all studiolights and reinit
the whole mechanism. This can be improved by only freeing deleted, reset
updated and add new custom studiolights.
details to show currently only shows the path we perhaps want to add
other information also
2018-06-08 10:41:24 +02:00
Dalai Felinto
e5bc37eb5e
Don't tag UBO as dirty anymore otherwise it still crashes on render
2018-06-07 19:19:39 +02:00
Dalai Felinto
d17094b256
BKE_world_eval: cleanup
2018-06-07 19:16:26 +02:00
Bastien Montagne
3b556a477d
Merge branch 'master' into blender2.8
...
Conflicts:
source/blender/editors/sculpt_paint/paint_vertex.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/sculpt_paint/sculpt_undo.c
2018-06-07 18:45:45 +02:00
Bastien Montagne
80dcb2ced8
Cleanup: typo, and 0 -> false for booleans.
2018-06-07 18:36:16 +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
8366c3ecd8
Depsgraph: Ensure collections are up to date after modifications
...
Before that copied collection in copy-on-write were running out
of sync with original ones. This was causing crash with the
following scenario:
- Delete some objects from scene
- Add particle system to an object
- Change particle mode to Hair
Thanks Dalai for debug session! Pair programming ftw!
2018-06-07 14:41:29 +02:00
Campbell Barton
da8d33e2e3
Merge branch 'master' into blender2.8
2018-06-07 13:41:32 +02:00
Campbell Barton
5330f1c5d1
Fix sculpt assert on initialization
2018-06-07 13:39:49 +02:00
Sergey Sharybin
a54235e0c6
Particle mode: Support children drawing
...
The issue is that children drawing is done by object mode,
which operates with data from evaluated context. But that
data needs edit mode's cache to be properly updated first.
2018-06-07 11:31:56 +02:00
Sergey Sharybin
1aa89d9a1c
Particle edit: Simplify code by benefiting from single edit context
...
Makes ADD brush to work.
At some point children particles draw got broken, children are not
visible for until first stroke is done. Still looking into it.
2018-06-07 11:31:56 +02:00
Campbell Barton
ba80d8440f
Cleanup: style
2018-06-06 22:17:06 +02:00
Campbell Barton
36000e6da3
Cleanup: unused function
2018-06-06 16:36:00 +02:00
Brecht Van Lommel
d706101559
Depsgraph: remove legacy code for dupli group updates.
...
This caused crashes in some cases, and should be fully handled by
the depsgraph now.
2018-06-06 16:00:25 +02:00
Brecht Van Lommel
f55f418867
Fix incorrect double checked lock in collection object cache.
2018-06-06 16:00:25 +02:00
Sybren A. Stüvel
4a52531a11
Alembic: Fix double-free of mutex
...
The mutex was shared between CoW copies of the CacheFile datablock, and
as a result also freed multiple times. It is now only freed when the
original datablock is freed; the CoW copies share the same mutex.
2018-06-06 14:38:17 +02:00
Sybren A. Stüvel
4c4fa3d49b
Fix double-free of custom data
...
This causes a temporary spike in memory usage when creating a copy; the
entire copy will be removed anyway when DerivedMesh is removed.
2018-06-06 14:38:17 +02:00
Sergey Sharybin
180e8f8bfb
Depsgraph: Remove confusing metaball logic
...
DATA datablock must evaluation must never depend on object it is
used for. If there is something what depends on an object, it must
be done on object level.
At least the actual callback was empty.
2018-06-06 12:36:51 +02:00
Sybren A. Stüvel
7a76223f1f
Ensure BKE_mesh_new_nomain_from_template() always has valid mxxx pointers
...
When the source mesh doesn't have the primary layers (CD_VERT for vdata,
etc.) the returned mesh also didn't have those layers, even when non-zero
elements were requested (for example requesting 4 vertices would still
result in mvert = NULL).
2018-06-06 12:27:25 +02:00
Sybren A. Stüvel
8a0e6a3143
Consolidated custom data layer initialisation
...
Code shared between BKE_mesh_new_nomain() and
BKE_mesh_new_nomain_from_template() is now in separate functions, instead
of copy-pasted.
2018-06-06 12:27:25 +02:00
Sybren A. Stüvel
5e180ebffc
Set mesh->totface in nomain-mesh creation
...
The totxxx fields should match the number of elements in their respective
custom data layers.
2018-06-06 12:27:25 +02:00
Sybren A. Stüvel
23db3a5ade
Renamed BKE_nomain_mesh_xxx → BKE_mesh_nomain_xxx
...
This maintains the `BKE_mesh_` prefix for the mesh-related BKE functions.
2018-06-06 10:30:24 +02:00
Sybren A. Stüvel
783d31c3a3
DerivedMesh deprecation: Removed some functions in displist.c
...
Those functions were using DerivedMesh but are not called from anywhere.
As a result, they cannot be tested after porting DerivedMesh to Mesh.
2018-06-06 10:11:31 +02:00
Sybren A. Stüvel
abccde4d68
DerivedMesh deprecation: marked no-longer-in-use function
...
Functions that are no longer in use can be marked as such, so that later
we can easily remove them.
2018-06-06 10:11:31 +02:00
Sybren A. Stüvel
5f543915e8
Modifiers: ported curve_calc_modifiers_post() internals from DerivedMesh → Mesh
...
The function still returns a DerivedMesh, but internally it uses Mesh
now.
2018-06-06 10:11:31 +02:00
Campbell Barton
a9f9236670
Merge branch 'master' into blender2.8
2018-06-06 09:39:35 +02:00
Campbell Barton
bfbd85e9d6
Fix error using freed bmain
...
Regression in 481cdb08ed
2018-06-06 09:36:50 +02:00
Campbell Barton
ab375079df
Cleanup: rename WITH -> USE for internal defines
2018-06-06 09:29:54 +02:00
Campbell Barton
3c9e2e82fa
Cleanup: style
2018-06-05 21:32:49 +02:00