Commit Graph

78756 Commits

Author SHA1 Message Date
Antonio Vazquez
3785dc59d1 Merge branch 'blender-v2.90-release' 2020-07-31 13:47:46 +02:00
Antonio Vazquez
feaed44ef6 GPencil: Fix unreported missing last point in NURBS conversion
The last point of the curve was missing.
2020-07-31 13:47:12 +02:00
Brecht Van Lommel
c565f16afb Fix T79397: blurry icons at some UI scales, after recent refactor
Solution found by Yevgeny Makarov.
2020-07-31 12:39:58 +02:00
Brecht Van Lommel
ded4b72002 Merge branch 'blender-v2.90-release' 2020-07-31 12:20:27 +02:00
Brecht Van Lommel
627b294317 Fix build error with clang 2020-07-31 12:03:11 +02:00
Sergey Sharybin
db24e289b2 Merge branch 'blender-v2.90-release' 2020-07-31 11:53:22 +02:00
Sergey Sharybin
de68880e79 Cleanup: Remove unused original pointer in Sequence 2020-07-31 11:45:40 +02:00
Sergey Sharybin
1e7afea2bb Fix T78835: Ghosting audio after using undo
The root of the issue comes to the fact that sub-data pointers were
used to match strips before/after copy-on-write. The undo system might
re-use sub-data pointers after re-allocating them, making it so that,
for example, pointer used by sound strip is later re-used by video
strip.

This fix takes an advantage of recently introduced per-sequence UUID
and uses it to match sequences before/after copy-on-write.
2020-07-31 11:45:40 +02:00
Sergey Sharybin
9ea6228b07 Sequencer: Ensure UUIDs are updated when needed
Document cases where it seems that they need to be updated, but where
the proper behavior is to not update the UUID.
2020-07-31 11:45:40 +02:00
Sergey Sharybin
eb8cbb6d7c Depsgraph: Add command line argument to debug UUIDs
Will trigger code paths which makes sure UUIDs are generated and
are unique.

Enabled with --debug-depsgraph-uuid (which is also implied by
--debug-depsgraph).
2020-07-31 11:45:00 +02:00
Sergey Sharybin
cc63897c22 Sequencer: Add session UUID check function
Is aimed for use during development and debug, to help
verifying that operations do not leave sequences with
invalid UUIDs.
2020-07-31 11:44:59 +02:00
Sergey Sharybin
3305a94fa1 Sequencer: Add session UUID management to Sequence
This is the first step for having sequences covered with session UUID
with the goal to remove code which uses original sequence pointer to
match sequences.

Currently this UUID is maintained on file load, allocation and leaf
duplication function.There are more cases to cover and ensure UUID
is re-generated or re-used when needed. It will be done as follow-up
development.
2020-07-31 11:44:59 +02:00
Sergey Sharybin
44b32e0e4a Sequencer: Add session UUID field to the Sequence DNA 2020-07-31 11:29:55 +02:00
Sergey Sharybin
de21ddf821 BLI: Initial implementation of generic session UUID API
Covers basics like generation of new UUID.

Also contains code needed to use the SessionUUID as a key in the Map.
2020-07-31 11:24:03 +02:00
Sergey Sharybin
cd579c4996 Add generic session UUID structures to DNA
Allows to use pre-defined structure for session UUIDs in all data
structures which needs it: pose channels, sequencer strips, modifiers.

The goal of all this is to have a reliable way of matching original
and copy-on-written versions of data, so that it's possible to
preserve runtime caches.
2020-07-31 11:22:05 +02:00
Jacques Lucke
f379bb368b BLI: fix float3 in-place operators 2020-07-31 11:17:33 +02:00
Philipp Oeser
585c9c2f23 Merge branch 'blender-v2.90-release' 2020-07-31 10:51:00 +02:00
Philipp Oeser
298d5eb669 UI: fix buttons ranges not properly updated when tabbing to next/previous
button

This was reported for the FCurve modifier restrict ranges, but might fail
elsewhere, too. Reason is that the post_but has its range (hardmin/
hardmax etc) set before the updates to the active button take place, so
changes here dont end up on the post_but (even though the RNA range
function is properly called for a new defined button - new one is not the
same as the post_but though).

Now update the ranges on the post_but when that gets active.

Fixes T78763

Maniphest Tasks: T78763

Differential Revision: https://developer.blender.org/D8265
2020-07-31 10:47:52 +02:00
Jacques Lucke
f3e8326453 Cleanup: fix function signature 2020-07-31 10:13:33 +02:00
Aaron Carlisle
59c14c1a62 Merge branch 'blender-v2.90-release' 2020-07-30 22:08:54 -04:00
Aaron Carlisle
8c375113b5 UI: Label Fixes
These were added in rB146473f08335e8cb774ccaf1baad82a1d308fbe1 however 
there were a few errors with the labels:

1. Underscore in label
2. Abbreviation when not needed
2020-07-30 22:05:25 -04:00
Clément Foucault
848cbe889b Fix T79347 GPU: Segfault starting blender 2020-07-30 19:43:53 +02:00
Nathan Craddock
9132fd8825 Merge branch 'blender-v2.90-release' into master 2020-07-30 11:24:39 -06:00
Nathan Craddock
f45f8a7a89 Fix T79278: Selected object filter skipping collection instances
Collection instance datablocks were not filtered out when only showing
the selected object. They were treated as a collection (which should
show when filtering objects). Adds a case to check if the parent is an
object.
2020-07-30 11:19:07 -06:00
David Vogel
820ca419e0 Add compound shape for rigid body simulation
This patch adds a new compound shape entry to the shape selection
dropdown. It also corrects wrong inertia calculation for convex hulls,
that resulted in strange behavior for small objects.

The compound shape take the collision shapes from its object children
and combines them. This makes it possible to create concave shapes from
primitive shapes. Using this instead of the mesh collision shape is
often many times faster.

Reviewed By: Sergey, Sebastian Parborg

Differential Revision: http://developer.blender.org/D5797
2020-07-30 18:53:35 +02:00
Dalai Felinto
d3944940f9 Merge remote-tracking branch 'origin/blender-v2.90-release' 2020-07-30 18:38:08 +02:00
Valentin
4089b07aa0 Cleanup: Remove pre 2.80 headers
Review: D8341
2020-07-30 18:37:36 +02:00
Jacques Lucke
8dc2fbd7b6 Fix T79117: dependency cycle with passive rigid body objects
Reviewers: zeddb

Differential Revision: D8431
2020-07-30 18:22:29 +02:00
Philipp Oeser
168653ed1d Merge branch 'blender-v2.90-release' 2020-07-30 17:36:20 +02:00
Philipp Oeser
ff1d599172 Fix T79357: VSE crash on prefetching when performing cuts
Caused by {rBa1a333a1e92e}

`BKE_sequencer_prefetch_get_original_sequence` cant get a sequence in
`BKE_sequencer_cache_put`.

rBa1a333a1e92e moved multiple NULL checks (including the one checking
seq) above BKE_sequencer_prefetch_get_original_sequence (this should
never return NULL really, but this is for another fix).

So solution suggested by @ISS is to just stop prefetching all together
before changing content of seqbase.

Maniphest Tasks: T79357

Differential Revision: https://developer.blender.org/D8421
2020-07-30 17:29:48 +02:00
Clément Foucault
b1bfcf9f6b GPU: Fix compilation error (missed one) 2020-07-30 17:17:16 +02:00
Clément Foucault
2d38ff67d3 GPU: Fix compilation error 2020-07-30 17:08:23 +02:00
Clément Foucault
d7a28b3d1a Cleanup: IMB: Put lowercase prefix on static functions 2020-07-30 16:55:42 +02:00
Clément Foucault
da741013a1 EEVEE: GLSL refactor/cleanup
- add the use of DRWShaderLibrary to EEVEE's glsl codebase to reduce code
complexity and duplication.
- split bsdf_common_lib.glsl into multiple sub library which are now shared
with other engines.
- the surface shader code is now more organised and have its own files.
- change default world to use a material nodetree and make lookdev shader
more clear.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D8306
2020-07-30 16:44:58 +02:00
Clément Foucault
55401fbb3d IMB: Refactor util_gpu.c to not expose enum getters
This was causing compiler error on MSVC and is not a good idea
in general.
2020-07-30 16:44:57 +02:00
Pablo Dobarro
008ccacdfc Cleanup: Use MEM_calloc_arrayN in the Cloth Brush
Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8432
2020-07-30 16:23:19 +02:00
Pablo Dobarro
2e33c5ca15 Sculpt: Use constraints in cloth deform brushes
Previously, deform brushes were modifying the final positions in the
simulation directly, which was causing all sorts of artifacts in the
deformed area and problems with other features of the solver.
Now these brushes deform a separate array of positions and the solver
adds constraints to them, so the real vertices are moved when solving
the constraints. This prevents those artifacts and gives the brush a
much better behavior.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8424
2020-07-30 16:10:15 +02:00
Pablo Dobarro
49c1359b55 Sculpt: Enable persistent base for the cloth brush
The cloth brush builds the constraints when the stroke starts usign the
current state of the mesh. This means that deformations profuced by the
simulattion will accumulate after multiple strokes as it will always
start from the previous deformed state. While this is useful in many
cases, for other uses it is convenient to always simulate the same
initial shape, but applying different forces to it.

The persistent base options work like the persistent base in the layer
brush and allows the cloth brush to not accumulate deformation after
each stroke. When enabled, constraints are created for the shape stored
in the persistent base instead of from the current state of the mesh.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8428
2020-07-30 15:59:35 +02:00
Clément Foucault
19175f4757 GPUBatch & GPUImmediate: Use GPUShader instead of using raw OGL handle 2020-07-30 13:28:50 +02:00
Philipp Oeser
3eff2b44db Merge branch 'blender-v2.90-release' 2020-07-30 13:02:29 +02:00
Philipp Oeser
4251a87bf6 Fix usercount not decrementing in gpencil_stroke_separate_exec
This is part of T79273 where separating a stroke would result in
multiuser gpencil data for the original object.
Real underlying issue seems to be that gpencil multiuser objects (also
the ones created by Alt+D duplicating) have a problem evaluating
modifiers correctly [this will need further investigation].
Not sure if this is a limitation of D5470?

This patch only corrects the usercount on separating [which already fixes
the scenario reported because singleuser gpencil modifiers work
correctly].

Note: we could have also called `ED_object_add_duplicate` with the
`USER_DUP_GPENCIL` dupflag -- that would have taken care of the usercount
--, but then the whole following logic in `gpencil_stroke_separate_exec`
would need to change from **adding** layers/frames/strokes to
**removing** these.

Part of T79273

Maniphest Tasks: T79273

Differential Revision: https://developer.blender.org/D8419
2020-07-30 12:47:54 +02:00
Campbell Barton
742ad5acbc Merge branch 'blender-v2.90-release' into master 2020-07-30 17:45:26 +10:00
Campbell Barton
2bc017ece1 Fix T79207: Crash converting curve to mesh 2020-07-30 17:42:09 +10:00
Hans Goudey
5893a1562f Cleanup: split curve bevel into separate file 2020-07-30 14:54:39 +10:00
Campbell Barton
24d035b383 Merge branch 'blender-v2.90-release' into master 2020-07-30 14:21:54 +10:00
Campbell Barton
1f48e67002 Merge branch 'blender-v2.90-release' into master 2020-07-30 14:21:49 +10:00
Campbell Barton
422e5e372e Merge branch 'blender-v2.90-release' into master 2020-07-30 14:21:41 +10:00
Campbell Barton
0ab66dd63f Fix T79369: BMesh.calc_volume() gave incorrect result 2020-07-30 14:20:18 +10:00
Campbell Barton
69ec7ab873 UV: path select support with sync-select enabled
Also improve region fill with edge-select enabled which often failed
to include both vertices from each edge in the resulting region.
2020-07-30 12:07:10 +10:00
Campbell Barton
ff0112bcb2 Fix UV select with sync select enabled wasn't setting active 2020-07-30 11:02:03 +10:00