Commit Graph

13972 Commits

Author SHA1 Message Date
Bastien Montagne
db0563e995 Fix re-entrant calls in some cases of mesh_evaluated generation.
`mesh_get_eval_final` and friends could call `mesh_build_data`, which in
paint/sculpt mode would call `BKE_sculpt_update_mesh_elements` which
would call `mesh_get_eval_final`... ugly!
2018-06-19 19:15:11 +02:00
Bastien Montagne
1292aae5c0 Correction to previous commit.
There is no guarantee that given ob pointer is not also an evaluated one
here...
2018-06-19 18:29:40 +02:00
Bastien Montagne
5372da0121 ModStack: Fix broken object_get_datamask helper.
Would compare evaluated ob pointer to original one...

Found while investigating some errors in incomming cleanup, but this was
probably generating lost of other issues in some cases...
2018-06-19 18:25:30 +02:00
Jeroen Bakker
0116c95d4c Studiolight: Temp Mutex issue
This is a temp fix for a better system.
Currently the studiolights can be referenced by a WM_job and being freed
via the API. This can happen when removing a studiolight via the
interface.

As the studiolight has no relation with the job, it is hard to detect if
it is still being used. I tried with a Mutex and a Thread Queue but they
were failing.

So the current temp fix is to keep the studiolights in memory until you
close blender. This Must be fixed ASAP! I added this fix so normal cases
can workish.
2018-06-19 16:37:23 +02:00
Brecht Van Lommel
86c1cad1cf Fix missing render slots bugs after recent changes. 2018-06-19 16:19:49 +02:00
Campbell Barton
7c3ecbf040 Correct rigidbody stub 2018-06-19 16:18:23 +02:00
Sybren A. Stüvel
96e6fd3b60 Remove rigid body from rbw->group when deleting
I moved some code from ED_rigidbody_object_remove() to
BKE_rigidbody_remove_object(), so that calling the latter doesn't leave
the object in rbw->group (causing a crash later on when rebuilding the
depsgraph).
2018-06-19 15:40:25 +02:00
Sergey Sharybin
d8f9ec1547 Particles: Support changing modifiers during particle edit mode
The idea is to only use pointers to particles in original object when
creating an edit structure. The derived mesh we get from evaluated
object.

The rest of the commit is just keeping pointers in sync.
2018-06-19 15:28:33 +02:00
Sergey Sharybin
95306a4d19 Particles: Use utility function to copy particles 2018-06-19 15:28:33 +02:00
Sergey Sharybin
aa3f0b0998 Particles: Add utility function to copy particles from one system to another 2018-06-19 15:28:33 +02:00
Sybren A. Stüvel
92823275af Fixed rigid body simulation randomly stopping
This was caused by a floating point comparison using ==, instead of using
compare_ff_relative().
2018-06-19 14:22:48 +02:00
Jeroen Bakker
de748bbedf Studiolight: Background Generation of icons 2018-06-19 14:04:51 +02:00
Sybren A. Stüvel
8f922b30b0 RigidBodyWorld: copy ptcache from evaluated scene back to original scene
This makes it possible to perform re-evaluation of the scene without
having to re-run the simulation.

The CoW → Orig copy is only performed when the depsgraph is active, so
as to not influence the current scene while rendering in the background.

Alternatively, we could have the CoW copy share the cache with the
original to prevent too much copying of cache data. This will be faster,
but I'm not sure whether we can reliably check the DEG_is_active()
status at CoW copy creation time.
2018-06-19 11:49:56 +02:00
Jeroen Bakker
65b3c7b72c Studiolight: Add SH2 cache
- the result of the SH2-coeffiecients are stored in a bin file (3*9
floats). As the file is a local file we do not care about the
architecture.
- solved issue that also for internal lights the irradiance file were
stored. We don't want that as it could be in a not accessible location
2018-06-19 09:06:35 +02:00
Campbell Barton
643370b10f Cleanup: code-style 2018-06-18 20:58:08 +02:00
Bastien Montagne
9fb5924446 Fix a very nasty and sneaky bug in lib remap / static override code.
Not sure why remap call for static override reference ID pointer was put
there, probably a mistake during some merge back in the days...

But this ended up with self_id of libquery data struct still being set
to previous ID pointer, which could randomly generate crap like falsly
reporting indirect data and such, leading to lost reference datablock at
writefile time...
2018-06-18 20:20:55 +02:00
Bastien Montagne
594bcf934e Cleanup: use DEG tag flags, instead of old OB ones.
Having those two in parallel is ratehr confusing... :/
2018-06-18 18:43:21 +02:00
Bastien Montagne
4efe8fc806 Fix crash when making static override of an object from a collection.
Since we free collection caches when we remap one of their objects, we
also need to tell depsgraph to flush this into the COWs of that
collection, otherwise things like draw code can access freed memory...
2018-06-18 18:43:21 +02:00
Jeroen Bakker
7356cec0c6 Studiolights: Radiance icons were inverted. 2018-06-18 15:45:55 +02:00
Jeroen Bakker
7747d4cecf Workbench: increased Quality of the diffuse lighting model
- implemented Spherical Harmonics L2 for diffuse shading.

TODO: caching the precalculated harmonics so it won't take soo long to
open the popover
2018-06-18 15:32:53 +02:00
Brecht Van Lommel
fec97ec949 Objects: when active object gets hidden, make it inactive. 2018-06-18 15:20:06 +02:00
Brecht Van Lommel
7c836ac30a Cleanup: simplify some view layer code. 2018-06-18 15:20:06 +02:00
Sergey Sharybin
0365079676 Particles: Remove obsolete code for child particles in edit mode 2018-06-18 15:14:03 +02:00
Sergey Sharybin
d5ec62a0c3 Multires: Remove unused function
It uses derived mesh, and relies on scene stored in modifier data.
So port is needed anyway.
2018-06-18 11:14:00 +02:00
Campbell Barton
06a1a66a9b Merge branch 'master' into blender2.8 2018-06-17 17:10:19 +02:00
Campbell Barton
6fc8a74886 Cleanup: trailing space for blenkernel 2018-06-17 17:05:51 +02:00
Campbell Barton
56173e512c Merge branch 'master' into blender2.8 2018-06-17 16:18:15 +02:00
Campbell Barton
a0a1fc8938 Cleanup: BLI path extension API
Use BLI_path_extension_* prefix.
2018-06-17 16:13:24 +02:00
Campbell Barton
ab20901c9e Cleanup: codestyle 2018-06-17 12:03:22 +02:00
Clément Foucault
fe98124a98 Custom Hdri: Use same AntiAliasing as Matcaps 2018-06-16 23:28:39 +02:00
Clément Foucault
b503dd7747 StudioLights: Fix preview icon.
Use same antialiasing method as the matcaps and fix the normal computation.
2018-06-16 23:28:39 +02:00
Clément Foucault
48adf90367 Matcap: Make matcap preview the same size as the other StudioLights 2018-06-16 23:28:39 +02:00
Clément Foucault
224daf55ac Matcaps: Add AntiAlias alpha mask to icon preview. 2018-06-16 23:28:39 +02:00
Clément Foucault
0332d338ea Studio Light: Fix typo 2018-06-16 23:28:39 +02:00
Bastien Montagne
3b7f630a54 Merge branch 'master' into blender2.8 2018-06-16 18:02:50 +02:00
Bastien Montagne
ace8ad861d Fix T55427: Removing Vertex Group used by Data Transfer Modifier results in crash.
Only fixing crash, proper handling (a.k.a remapping) of all
possible cases here, for all possible data layers, is rather involved...
2018-06-16 16:22:00 +02:00
Campbell Barton
0ff87e3a60 Cleanup: code style 2018-06-15 20:55:37 +02:00
Bastien Montagne
3e4bf31327 Cleanup: G.main removal from 2.8-only code. 2018-06-15 17:33:24 +02:00
Bastien Montagne
5b6ae0523e Merge branch 'master' into blender2.8 2018-06-15 17:25:41 +02:00
Sergey Sharybin
5ac7068c5f Hair editing: Multi-thread various parts
Currently focused on making parts which are a bottleneck for Spring,
to make things fast as possible. There are surely lots of places
where threading is not currently done, but we can keep doing this,
maybe even with help from the community :)
2018-06-15 17:23:49 +02:00
Bastien Montagne
da9b1b14ed Cleanup: some more G.main removal/validation... 2018-06-15 17:21:07 +02:00
Sybren A. Stüvel
84c91a87a9 Converted Rigid Body from DerivedMesh to Mesh 2018-06-15 14:33:11 +02:00
Jeroen Bakker
64bfa4b300 T55486: use GPU_R11F_G11F_B10F for Matcaps 2018-06-15 13:02:15 +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
Campbell Barton
cbc7ee28d7 WM: 2.8 screen compatibility
Without these minor changes loading files from 2.8 will crash.

Manually applied edits from 26786a2b87
2018-06-15 10:24:53 +02:00
Lukas Stockner
525be2f579 Image: Refactor render slots to a dynamic list
Previously, render slots were hardcoded to a fixed amount.

With this change, render slots now are stored in a list. Therefore, users can add and/or remove as many slots as they want.

Credit to brecht for the UI part.

Reviewers: brecht, sergey

Differential Revision: https://developer.blender.org/D3474
2018-06-14 22:46:30 +02:00
Campbell Barton
51f1ed8221 Cleanup: style 2018-06-14 22:44:53 +02:00
Campbell Barton
26786a2b87 WM: add support for temporary region data 2018-06-14 22:27:58 +02:00
Brecht Van Lommel
dc25e69c2d Fix motion paths not updating correctly for bones in some cases.
Sometimes the evaluated pose channel pointers can change during depsgraph
evaluation, so we can't store them ahead of time. The object pointer
should be ok since evaluated ID memory is reused.
2018-06-14 20:58:14 +02:00
Jeroen Bakker
17b029d80e T55406: Flip Matcap
- Icon represent the flipped matcap in the shading menu
- Added template_icon to display any icon in scale.
2018-06-14 11:44:36 +02:00