Commit Graph

92322 Commits

Author SHA1 Message Date
YimingWu
7c9b6cc380 LineArt: Better behavior of smooth tolerance.
This fixes the smooth tolerance feature in master where sometimes you could
get over simplified chains and lose the shape it's supposed to be originally.

Reviewed By: Sebastian Parborg (zeddb)

Differential Revision: https://developer.blender.org/D14929
2022-05-14 00:56:09 +08:00
Hans Goudey
ee363ee7b3 Cleanup: Use standard variable names for curves 2022-05-13 18:44:09 +02:00
Hans Goudey
cf69652618 Cleanup: Use const when retrieving custom data layers
Knowing when layers are retrieved for write access will be essential
when adding proper copy-on-write support. This commit makes that
clearer by adding `const` where the retrieved data is not modified.

Ref T95842
2022-05-13 18:35:22 +02:00
Bastien Montagne
fa7224d8ed Merge branch 'blender-v3.2-release' 2022-05-13 18:07:31 +02:00
Bastien Montagne
074c695a0d Fix T98072: Regression: When appending a Scene, the Collections that are excluded get instanced into Current Scene.
This was due to using `BKE_scene_has_object` function, which uses the
cache of bases of the viewlayers, which do not have entries for the
content of excluded collections... Now use
`BKE_collection_has_object_recursive` instead.
2022-05-13 18:05:44 +02:00
YimingWu
870ad7d05d Fix T96781: LineArt proper object iterator.
This patch get rid of the _incorrectly used_ DG iterator in object loading,
and uses scene objects iteration to prevent problems.

Reviewed By: Sebastian Parborg (zeddb)

Differential Revision: https://developer.blender.org/D14907
2022-05-14 00:04:16 +08:00
Julian Eisel
ca2fb9bae9 Fix possible null-pointer dererence for active button data
The button returned from `UI_region_active_but_get()` is not guaranteed
to have active button data, so code can't rely on that.
2022-05-13 17:56:28 +02:00
Julian Eisel
8e717ce55a Fix crash when displaying some button tooltips
Steps to reproduce were:
- Factory startup
- Right-click in 3D View
- Move the mouse over "Shade Flat", wait for the tooltip

The changed logic in 4680331749 to lookup an active button was
incorrect. It didn't respect the priority of active button candidates.
2022-05-13 17:56:18 +02:00
Brecht Van Lommel
5baa3ecda6 Color Management: various improvements and fixes for image saving
* Respect the image file color space setitng for saving in various cases where
  it was previously ignored. Previously it would often use the sRGB or Linear
  color space even when not selected.
* For the Save As operator, add a Color Space option in the file browser to
  choose the color space of the file. Previously this was chosen automatically,
  now it's possible to e.g. resave a Linear image as Linear ACES.
* When changing the file format, the colorspace is automatically changed to an
  appropriate color space for the file format. This already happened before, but
  there was no visibility or control in the operator settings for this.
* Don't change color space when using the Save operator to save over the same
  file.
* Fix missing color space conversion for 16 bit PNGs, where it assumed wrongly
  assumed ibuf->rect would be used for saving. Add BKE_image_format_is_byte to
  more accurately test this.

Fixes T74610

Ref T68926

Differential Revision: https://developer.blender.org/D14899
2022-05-13 17:55:54 +02:00
Brecht Van Lommel
1e4cd98f0a Fix build error without unity build after recent changes
float3 should have been declared within the blender namespace. And forward
declaration is difficult with templated classes so just include header.
2022-05-13 17:55:54 +02:00
Julian Eisel
8d43ee1b08 Fix T97518: All buttons with eyedropper highlight if one is hovered
Issue is that the operator acts on the active button, and also uses that in the
poll. So the actually active button would affect the poll of a different
button. For the superimposed icons we need to be able to execute these polls
properly for non-active buttons.

This enables temporarily overriding the active button for lookups via context.
While a bit of a hack it makes sense conceptually.

Reviewed By: Campbell Barton

Maniphest Tasks: T97518

Differential Revision: https://developer.blender.org/D14880
2022-05-13 17:55:52 +02:00
Julian Eisel
7c9c13cf83 Fix possible null-pointer dererence for active button data
The button returned from `UI_region_active_but_get()` is not guaranteed
to have active button data, so code can't rely on that.
2022-05-13 17:54:12 +02:00
Julian Eisel
908e6c7c4d Fix crash when displaying some button tooltips
Steps to reproduce were:
- Factory startup
- Right-click in 3D View
- Move the mouse over "Shade Flat", wait for the tooltip

The changed logic in 4680331749 to lookup an active button was
incorrect. It didn't respect the priority of active button candidates.
2022-05-13 17:54:12 +02:00
Sergey Sharybin
a0748153b4 Tracking: Move all selection logic to operator exec()
Unlikely that users will notice this, but this makes it so that
the operator behaves consistently across its exec() and invoke()
code paths.
2022-05-13 17:21:55 +02:00
Sergey Sharybin
a80ad0a545 Refactor: Use coordinate in API for track selection
Currently no functional changes. Prepares for a change which will
allow to more consistently redo the track selection operator.
2022-05-13 17:18:25 +02:00
Julian Eisel
4680331749 Fix T97518: All buttons with eyedropper highlight if one is hovered
Issue is that the operator acts on the active button, and also uses that in the
poll. So the actually active button would affect the poll of a different
button. For the superimposed icons we need to be able to execute these polls
properly for non-active buttons.

This enables temporarily overriding the active button for lookups via context.
While a bit of a hack it makes sense conceptually.

Reviewed By: Campbell Barton

Maniphest Tasks: T97518

Differential Revision: https://developer.blender.org/D14880
2022-05-13 15:55:11 +02:00
Campbell Barton
6f3d155293 Merge branch 'blender-v3.2-release' 2022-05-13 23:42:06 +10:00
Campbell Barton
05b56d55e8 Fix T97386: Node socket labels swallow click/drag events
Regression caused by [0] which made `ui_but_is_interactive` consider
label buttons with tool-tips to be interactive. This prevented
the clicks to pass through to the nodes for selecting/dragging.

Resolve this by allowing buttons to be activated for the purpose
of showing tool-tips but otherwise considering them disabled
(as if the UI_BUT_DISABLED is set when handling events).

[0]: 484a914647

Reviewed By: Severin

Ref D14932
2022-05-13 23:41:03 +10:00
Sergey Sharybin
d6c4317f35 Fix jump when switching accurate marker sliding
As a side effect the "sticky" search area on resize/move is also
resolved now: previously attempt to move search area past to where
it could be would make it hard to move it back. Now the search area
will always respond immediately to mouse motion, even after it got
clamped.
2022-05-13 14:12:01 +02:00
Sergey Sharybin
7533bee58b Cleanup: Remove dead code in tracking slide operator
The code was there prior pattern area affine transform and was never
used afterwards.

After so long time it should be safe to remove the unused code.
2022-05-13 14:12:01 +02:00
Jeroen Bakker
94ad77100c Merge branch 'blender-v3.2-release' 2022-05-13 12:55:24 +02:00
Jeroen Bakker
cbc024c3ca MacOS/AMD: Drawing artifacts in VSE.
Related to the partial revert done for T97272. It seems also that the
workaround should be enabled for any MACOS platform.
2022-05-13 12:54:41 +02:00
Sergey Sharybin
6e2270f3d3 Merge branch 'blender-v3.2-release' 2022-05-13 12:47:33 +02:00
Sergey Sharybin
e30ccb9a34 Fix crash toggling marker translate with marker offset
The shortcut is G-G.

Caused by loop argument "shadowing".
2022-05-13 12:39:40 +02:00
Sergey Sharybin
8741cf2038 Cleanup: Proper state check in marker slide operator
The previous code was had confusing logic, but since it was acting
more as a fall-back it did not cause bugs for users.
2022-05-13 10:42:28 +02:00
Kévin Dietrich
fa9e878e79 Fix T97330: UV points missing with some modifiers
When extracting UV point indices, only the vertex points coming from the
original geometry should be drawn. For this, the routines (for subdivision
and coarse meshes) would only consider a vertex to be real if the extraction
type is `MAPPED`, and that an origin index layer on the vertices exist
with a valid origin index for the current vertex.

However, if the extraction type is `MESH`, which can happen with for
example an empty Geometry Node modifier, or with deferred subdivision,
this would consider every vertex to not be "real" and therefore hidden from
the UV editor.

This reworks the condition for "realness" to also consider a vertex to be
real if there is no origin layer on the vertices. The check on the extraction
type is removed as it becomes redundant.

This only modifies the check in the UV data extraction for point indices,
however similar checks exist throughout the extraction code, these will
be dealt with separately in master.

Differential Revision: https://developer.blender.org/D14773
2022-05-13 09:26:34 +02:00
Campbell Barton
0d1b9eabf2 Merge branch 'blender-v3.2-release' 2022-05-13 16:14:29 +10:00
Campbell Barton
113b8030ce Fix T89909: Circle Select tool status bar doesn't match the operations
Assign get_name functions for select picking and circle select
so modifier keys show the result of holding the modifiers.
2022-05-13 16:09:04 +10:00
Germano Cavalcante
470cbad51a Fix T97872: Annotation lines lost AA
Since rB2a7a01b339ad, `lineSmooth` has lost its default value of true.

rBa0a99fb25284 only fixed the problem on master.

But thanks to @hitrpr for spotting the bug in version 3.2 too.

Differential Revision: https://developer.blender.org/D14876
2022-05-12 22:22:27 -03:00
Campbell Barton
427a2c920a Cleanup: spelling in comments, capitalize tags
Also add missing task-ID reference & remove colon after \note as it
doesn't render properly in doxygen.
2022-05-13 09:29:25 +10:00
Brecht Van Lommel
906b9f55af Cleanup: remove redundant float to byte conversion for stereo image saving
For non-stereo cases this is automatically handled by IMB_saveiff, no reason for
stereo to do this separately.

Ref D14899
2022-05-12 22:58:27 +02:00
Brecht Van Lommel
c0df1cd1b3 Cleanup: remove redundant code and data copying image save as operator
Store ImageSaveOptions directly in operator custom data instead of copying
to/from a copy on the stack.

Ref D14899
2022-05-12 22:58:27 +02:00
Brecht Van Lommel
1159b63a07 Cleanup: move image save options init to image_save.cc
The logic here is tightly coupled to the other image saving code.

Ref D14899
2022-05-12 22:58:27 +02:00
Brecht Van Lommel
6044c6d09b Cleanup: remove unused function declaration 2022-05-12 22:58:27 +02:00
Clément Foucault
c09cfdb251 DRW: Fix Compilation on OSX
Caused by rBe4bb898e40ee
2022-05-12 22:10:59 +02:00
Jason Fielder
073139e329 Metal: MTLState module implementation.
MTLState module implementation and supporting functionality in MTLContext for state tracking, texture binding and sampler state caching.

Ref T96261

Reviewed By: fclem

Maniphest Tasks: T96261

Differential Revision: https://developer.blender.org/D14827
2022-05-12 20:50:11 +02:00
Clément Foucault
992ae3f282 DRW: Port draw_shader to C++ 2022-05-12 20:40:23 +02:00
Clément Foucault
e4bb898e40 DRW: Port draw_hair to C++ 2022-05-12 20:40:23 +02:00
Clément Foucault
f3f7f8b37b Cleanup: Remove unused gpu_shader_geometry.glsl 2022-05-12 20:40:23 +02:00
Bastien Montagne
d634194cac Merge branch 'blender-v3.2-release' 2022-05-12 17:45:46 +02:00
Bastien Montagne
2c784f44cf Cleanup: use proper naming in Warp modifier read/write code. 2022-05-12 17:45:16 +02:00
Julian Eisel
766340856d UI Code Quality: Use derived struct for hot-key buttons
`uiBut` contained a variable that was only used for these hot-key
buttons. This may also help getting rid of the `UI_BUT_IMMEDIATE` flag,
which is also only used for this button type. We are running out of
available bits for flags, so this would be useful.

Continuing the work from 49f088e2d0. Part of T74432.
2022-05-12 17:41:26 +02:00
Bastien Montagne
d1f32b63eb Merge branch 'blender-v3.2-release' 2022-05-12 17:27:18 +02:00
Bastien Montagne
32fd85e6f9 Fix (unreported) bad memory access in read/write code of MeshDeform modifier.
This abuse of one one size value to handle another allocated array of a
different size is bad in itself, but at least now read/write code of
this modifier should not risk invalid memory access anymore.

NOTE: invalid memory access would in practice only happen in case endian
switch would be performed at read time I think (those switches only check
for given length being non-zero, not for a NULL data pointer...).
2022-05-12 17:24:30 +02:00
Sergey Sharybin
b24f204e91 Cleanup: Clarify function name and comment logic
This is a bit tricky exceptional case, which originates to an original
motion tracking commit. Took a while to remember what it is ab out so
here is a comment for the future developers.
2022-05-12 17:20:54 +02:00
Julian Eisel
ccd18691fc Cleanup: Remove another unused hotkey button definition function
See f2c7b56f0f.
2022-05-12 17:05:37 +02:00
Julian Eisel
f2c7b56f0f Cleanup: Remove unused hotkey button definition function
This isn't used, and I also see any use for it short-term.
2022-05-12 16:56:14 +02:00
Julian Eisel
3693e1d8e8 Revert commits to increase button flag bitfield size
This reverts the commits 8d9d5da137,
59cd616534 and
98a04ed452.

The commits are causing issues with MSVC, see D14926. I'm working on a
different solution, but that will need some work.
2022-05-12 16:56:14 +02:00
Martijn Versteegh
c31f519954 CMake: Fix missing dependency in bf_editor_curves
curves_ops.cc uses RNA_Prototypes.h. so bf_rna
needs to build before bf_editor_curves.
2022-05-12 08:42:19 -06:00
Clément Foucault
d9effc1cc6 Fix T98071: Overlay: UV selection inverted bewteen vertex and edge select
Self describing title.

Also remove the layout inside the geometry shader as they are now generated
by the backend.
2022-05-12 15:11:07 +02:00