Commit Graph

92582 Commits

Author SHA1 Message Date
Sybren A. Stüvel
5168408ae5 Fix T72459: Mask Modifier breaks Vertex Parenting
The `give_parvert()` function was only considering the mesh's original
vertex indices when the parent vertex index was valid for the evaluated
mesh. However, when using the Mask modifier the evaluated mesh can have
less vertices but still have the parent vertex.

Since the `if (nr < numVertex)` condition wasn't used to prevent any
out-of-bounds access, and seems just an incorrect optimisation, it could
be removed.
2020-01-21 17:53:06 +01:00
Ray Molenkamp
4db9562246 libs/windows: Prevent USD exports from leaking into blender binary.
Even though we build USD as static, it still feels the need to mark its
symbols with declspec(dllexport) which means the blender binary now exports
these symbols.

this patch fixes that unwanted behaviour, however USD libs still need to
rebuild before this becomes visible in the blender binary

Differential Revision: https://developer.blender.org/D6563

Reviewed By: sybren
2020-01-21 09:47:10 -07:00
Ray Molenkamp
ce92e3d553 Fix: Building with clang on windows.
The USD landing broke building with clang on windows
due to a couple of reasons:

1) Some incompatibilities in their headers [1] only one
of them was important for us and is included in our patchset
now.

2) clangs lld wanted the full path to the libusd_b library
when using the whole archive link option, while msvc can
figure it out from just the library name.

Tested with clang/msvc and msbuild and ninja generators

[1] https://github.com/PixarAnimationStudios/USD/issues/1030
2020-01-21 09:46:53 -07:00
Campbell Barton
8d163d5976 Docs: describe turn-table gimble lock mitigation 2020-01-22 02:53:38 +11:00
Campbell Barton
3436eea1f5 Fix T73297: Incorrect lock properties tooltip 2020-01-22 02:53:38 +11:00
Jeroen Bakker
42360e64da Fix T73233: Image Editor Color Picker Crash
When using the color picker on a image editor it tries to read the color
from the original image. When there is no original image the code
crashes during the determination of the UDIM tile number.

There are 2 approaches to solve this.
1. Modify `BKE_image_get_tile_from_pos` to support NULL pointers.
2. Modify `ED_space_image_color_sample` with an early exit.

This patch modifies `ED_space_image_color_sample` with an early exit.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6629
2020-01-21 16:32:26 +01:00
Campbell Barton
98a99cb763 Fix T73295: Incorrect BMesh volume calculation
Use double precision since volume calculation is susceptible
to float precision errors.
2020-01-22 01:31:12 +11:00
Sybren A. Stüvel
2e4fbd327f Fix T72216 Copied Particles not refreshing in the viewport
The depsgraph was not tagged for relations update after the copy, which
means it was incomplete and thus didn't update the copied particle sim.
2020-01-21 15:30:07 +01:00
Campbell Barton
79bd553f06 Industry Compatible Keymap: use MMB to access the active tool
Fallback tools are used on LMB, MMB accessed the active tool.
2020-01-21 23:50:24 +11:00
Sybren A. Stüvel
40d71fc642 Fix T70891: Motion Path - Changing endframe clamps startframe to 1
There were two strange things going on:

- Start frame was clamped to 1, even when frame 0 is always a valid number.
  This also ignored the 'Allow Negative Frames' user preference.
- Start frame was only clamped when setting the end frame, so first setting
  the end frame and then the start frame would result in a different result
  than doing it in the opposite order.

This commit fixes both issues by:

- Clamping the lower bound of the start frame only if negative frames are
  not allowed, and
- apply that clamp both when setting the start and the end frame.
2020-01-21 11:53:12 +01:00
Yevgeny Makarov
5a29356b4d Fix T61259: Loop Cut with Trackpad or MagicMouse 2020-01-21 21:42:34 +11:00
Sybren A. Stüvel
9f66062da7 Fix T72213: F-Curve animation does not update FreeStyle properties
FreeStyle line styles were not part of the dependency graph, and
blacklisted from the Copy-on-Write system. As a result, animated
FreeStyle properties would not be updated by the animation system,
resulting in T72213. There was an explicit call to run the animation
system on the original datablocks, but that was (for good reasons)
removed in D5394.

This commit adds the FreeStyleLineStyle datablocks to the dependency
graph and allows them to be handled by the CoW system. As a result

- the UI now updates properly when properties are animated, and
- animated property values are actually used when rendering.

This commit includes @Sergey's patch P1222, which unifies two bits of
code that did the same thing: check whether datablock type is covered by
copy-on-write.

Reviewed By: sergey, brecht

Differential Revision: https://developer.blender.org/D6609
2020-01-21 10:44:23 +01:00
Nico Zevallos
1982d110f4 Fix T62882: Make Dynamic Paint update weights in viewport
Related to T62882
When the SupportsMapping modifier flag was added to the dynamic paint
modifier it was added commented out. It may have not worked back then,
but it seems to work fine now.
MOD_weightvgedit.c was already updated similarly.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6072
2020-01-21 09:42:26 +01:00
Ray Molenkamp
93a9fbb35f Windows: Update platform_win32.cmake to boost 1.70
to match the updated libs in svn.
2020-01-20 19:31:31 -07:00
Lukas Stockner
902209eda5 Partial Fix T73043: Denoising Albedo not working well for Sheen
Similar to the Microfacet Closures, the Principled BSDF Sheen closure is
added at a high weight but typically results in fairly low values.
Therefore, the default weight is a bad indicator of importance.

The fix here is the same as it was back then for Microfacets:
Compute an average weight using the normal as the half-vector
and use it to scale down the sample weight and the albedo channel.

In addition to drastically improving denoising of materials with
sheen when using the new Denoising node, this also can reduce noise
on such materials considerably.
2020-01-20 23:06:08 +01:00
Philipp Oeser
aee2b754dc Fix T73110: UDIM Texture Paint Crash
This would happen if a tile is found on disk, painting would actually
request that tile (because corresponding uvs were in that range), but
that tile was not added in blenders list of tiles in that Image.

Need to also check tile in `image_quick_test` (regardless of iuser
having passed).

thx @lukasstockner97 for additional input!

Maniphest Tasks: T73110

Differential Revision: https://developer.blender.org/D6578
2020-01-20 21:21:59 +01:00
Philipp Oeser
ddddb94517 Fix T72546: Video Sequencer: Select grouped 'OVERLAP' operator wrong
selection

False positive when a sequences end would be the same as active
sequences start.

Also thx @sybren for the heads up to make this more readable.

Maniphest Tasks: T72546

Differential Revision: https://developer.blender.org/D6451
2020-01-20 21:05:11 +01:00
Clément Foucault
335930ab4e Overlay: Improve Outline diagonal Antialiasing
I doubt we can do much better. Most of the aliasing comes from the edge
detection which does not use a lot of samples. We could use more samples
but then the detection becomes way more complex and expensive.

The second issue comes from the reconstruction (AA pass) that only bleed
adjacent pixels in if their line direction is perpendicular to the offset.
This makes corner gaps on certain diagonals.
2020-01-20 19:36:08 +01:00
Sybren A. Stüvel
31e2786707 Fix T71825: Custom Animation Player path overrides chosen player
Thanks @mano-wii for providing the patch!

The original code assumed that when `animation_player_preset` was not
`CUSTOM`, the `animation_player` path would be empty. This is a bad
assumption, as it can be quite useful to be able to toggle between a custom
and a built-in player. As such, `animation_player` should not be reset to
an empty string when a non-custom player is chosen.
2020-01-20 17:32:23 +01:00
Campbell Barton
661d363e13 Fix T73162: Modal tools cant be mapped to MMB
Also rename struct members to 'launch_event', since it's more
descriptive and was called this in some places.
2020-01-21 03:09:56 +11:00
Antonio Vazquez
a5f19e3f72 Fix T73265: GPencil console error when delete frist frame 2020-01-20 16:18:20 +01:00
Sebastián Barschkis
4dbaee0293 Fluid: Fix for liquid domains in cache replay mode
Added missing check that prevented bake from being executed correctly.
2020-01-20 16:17:16 +01:00
Sybren A. Stüvel
dae033801b Fix T72050 Subdivide method "Straight Cut" not working with N-Gons enabled
'Straight Cut' is actually documented as creating N-Gons. However, the
code was disallowing this. This is probably a mix-up as the "allow N-Gons"
option is documented as a "force quad/tri" option.
2020-01-20 16:11:00 +01:00
Campbell Barton
133f6a9812 Bevel: flush selection with non-modal execution 2020-01-21 01:27:46 +11:00
Yevgeny Makarov
5c5f2bd221 Fix file browser not excluding AirDrop from the System list on macOS
There is already code for this, it just wasn't working. Now add the
slash after checking for an empty string.

Differential Revision: https://developer.blender.org/D6568
2020-01-20 14:50:18 +01:00
Sebastián Barschkis
81befded7b Fluid: Fix for smoke domain geometry object with adaptive domain enabled
The smoke mesh geometry always needs to be updated when using the adaptive domain.
2020-01-20 14:34:08 +01:00
Ray Molenkamp
8e7faf0e67 Fix failing cycles_render_graph_finalize_test when building with clang
The gflags library was not fully configured to be built as a static
library, only one of two files was changed.

Differential Revision: https://developer.blender.org/D6611
2020-01-20 14:16:05 +01:00
Clément Foucault
3bda3a2992 Fix T73187 Overlay: Stereo 3D Camera not displaying correctly 2020-01-20 14:15:54 +01:00
Brecht Van Lommel
1613c994b0 Fix Cycles not correctly using Background.shader if specified
Based on patch by Alex Fuller.

Differential Revision: https://developer.blender.org/D6627
2020-01-20 14:03:14 +01:00
Clément Foucault
bb692a2d0f Fix T59747 EEVEE: Bug on EnvironmentTexture 2020-01-20 13:48:25 +01:00
Brecht Van Lommel
ccfe5bf215 Cleanup: remove redundant function 2020-01-20 13:27:19 +01:00
Sebastián Barschkis
153a96472a Fluid: Fix typo in smoke script 2020-01-20 12:34:38 +01:00
Clément Foucault
e6ccd512e6 EEVEE: Fix crash during lightbake 2020-01-20 12:55:21 +01:00
Campbell Barton
cfae9fb9e4 Fix T73224: Crash calling UV Sculpt from operator search 2020-01-20 20:46:29 +11:00
Brecht Van Lommel
02f6722350 Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0
This aligns with the VFX reference platform 2020 along with the decision
to stick to Python 3.7, see T68774.

Blosc was downgraded to 1.5 as recommended by the OpenVDB documentation.

IlmBase and OpenEXR are now built together with CMake rather separately
using autoconf.

Differential Revision: https://developer.blender.org/D6593
2020-01-20 09:43:28 +01:00
Brecht Van Lommel
78aa321931 Linux: update release notes for appdata 2020-01-20 09:39:54 +01:00
Brecht Van Lommel
957ba51200 Fix T71830: invalid Linux appdata syntax 2020-01-20 09:39:54 +01:00
Brecht Van Lommel
4f4435001a Fix OSL build error on macOS, no need to use external pugixml 2020-01-20 09:39:54 +01:00
Jean First
66e02d15a0 Fix T72605: Blender works only in one user account on macOS
User permissions in the disk image were wrong.

Differential Revision: https://developer.blender.org/D6462
2020-01-20 09:39:54 +01:00
Brecht Van Lommel
6368343da9 Fix T73129: sculpt mode slow on mesh with fake user
We can't use the fast path when the mesh is used by mulitple objects and so
slower sculpting is expected then. But fake users should not affect this. This
also fixes the same type of error in a few other areas.
2020-01-20 09:39:54 +01:00
Campbell Barton
6395937b01 Fix T71922: Bisect creates flipped faces 2020-01-20 19:19:04 +11:00
Sebastián Barschkis
81b7f8efaf Fixed secondary particle combined export functionality
The combined export was using the old flag format.
2020-01-19 23:44:57 +01:00
Sebastián Barschkis
c7596cd820 Fluid: Improved cache file loading
Cache file loading for mesh and particle files now works through the direct update_structures functions. The final cache mode now also only bakes the most essential files and is therefore not resumable anymore.
2020-01-19 23:44:56 +01:00
Alexander Gavrilov
d1657b406e Fix T73117: B-Bone twist weirdness in chains with sharp bends.
When computing the roll value coming from the handle bone, the code
was using some strange unexplained math. It probably works fine when
the difference with the 'zero roll' orientation is pure twist, like
is the case when called from mat3_to_vec_roll. However, it appears
to break when significant swing is involved.

The issue is fixed by using the proper Swing+Twist decomposition
utility function that was added in a recent version for drivers.
2020-01-19 18:48:18 +03:00
Ray Molenkamp
3e11c4e63b Fix: T71159 missing python3.dll
File got forgotten during the last repack of python.
2020-01-18 11:58:38 -07:00
mano-wii
deb59c25c0 Weld Modifier: Reduce size of the leaf nodes to half
This improves performance by reducing the amount of false positives.

A self overlap is made, so the distance from the vertices in the
overlap nodes is actually added.
2020-01-18 15:28:49 -03:00
Bastien Montagne
5472ae6fdf Fix memory leak when full-copying a scene after recent changes.
Once again, am not exactly sure why that was working before, and not
anymore - but in any case, doing that kind of update here is not only
useless (since we have to do it at the end of the whole
collections/objects duplication and remapping anyway), it is also rather
dangerous, as collections are currently in rather invalid states at that
point of the code...

Note that in ideal world, `BKE_main_collection_sync()` & co would be
lazy (setting only a flag, then code actually needing this to be valid
again should call some sort of `BKE_main_collection_sync_ensure()`).
Then we would not have to worry about such things (and we'd get nice
performance improvements in some cases, also in main remapping code,
etc.).

Food for some refactoring, some day...
2020-01-17 19:59:00 +01:00
Bastien Montagne
6744f4d108 Cleanup of previous rBac723db57fd8ba5 commit.
Simplify a bit, and remove some now redundant remappings.

As a side note, rBac723db57fd8ba5 actually also fixed some unreported
issues (missing remappings to new objects/collections in new copied
scene, that were not previously handled by the 'custom' code).

There are almost certainly still some missing remappings around,
though...
2020-01-17 19:59:00 +01:00
Bastien Montagne
fb0fc1d613 Fix T73170: New Scene -> "Full Copy" Crashes Blender.
rBac723db57fd8ba5 makes proper remapping of all pointers in Scene...
including the object pointers of bases in ViewLayers.

Using `BKE_main_collection_sync_remap()` makes sense here anyway
(compared to `BKE_main_collection_sync()`, it additionally clears caches
in ViewLayers and Collections), this whole code makes a lot of
remapping.

Note that I do not really understand *why* that was working OK
before rBac723db57fd8ba5. I.E. *why* not remapping at all ViewLayers'
base object pointers seemed to be OK...

This whole collection/viewlayer caching is very hard to follow, and
really needs a full rework at some point (just as much as ID copying
code in general, and scene copying code in particular, in fact).
2020-01-17 19:59:00 +01:00
Bastien Montagne
66ad94d905 Cleanup: remove dead code in full scene copy/make single users area. 2020-01-17 19:59:00 +01:00