Commit Graph

93911 Commits

Author SHA1 Message Date
Germano Cavalcante
791bfae1d6 Fix T100129: Status bar incorrectly shows "[G] Move" after pressing G once in Edit Mode
Add specific modal keyitem for Vert/Edge Slide or TrackBall.

Note that there is a workround to avoid repeated keys in the status bar.

Reviewed By: campbellbarton

Maniphest Tasks: T100129

Differential Revision: https://developer.blender.org/D15597
2022-08-04 10:54:29 -03:00
Campbell Barton
a10cac413e Fix the menu popup location when dropping blend files under Wayland
Even though the event's location matched the drop event,
the `wmWindow.eventstate` was not updated which was used for the
pop-up menu location.
2022-08-04 22:33:26 +10:00
Jesse Yurkovich
fdd282021a Cleanup: Fix compile warnings 2022-08-04 00:45:25 -07:00
Campbell Barton
550ebc5c8f Cleanup: quiet unused warning 2022-08-04 17:00:19 +10:00
Jesse Yurkovich
72ab6faf5d Fix T97251: Store generated type information for each UDIM tile
Various situations can lead to un-saved UDIM tiles potentially losing
their contents. The most notable situation is a save and re-load of a
.blend file that has "generated" UDIM tiles that haven't been written to
disk yet. Normal "generated" images are reconstructed on demand in these
circumstances but UDIM tiles do not retain the information required for
reconstruction and empty tiles are presented to the user.

This patch stores the generated type information for each tile to solve
this particular issue. It also shifts the Image generation info into the
1st tile. The existing DNA fields are deprecated but RNA was modified as
to not break API compat.

There's two broad changes here that merit special callout:
- How to distinguish between a tile that should be reconstructed vs.
a tile that should remain empty because loading failed for the UDIMs
- How to better handle Image Source changes

The first issue is addressed as follows:
- Each time a tile is filled with generated content we set a new
IMA_GEN_TILE flag
- Each time a tile is saved to disk we remove the IMA_GEN_TILE flag
- When requesting an ibuf: If the ibuf is null, we check to see if
IMA_GEN_TILE is set. If it is set, go ahead and re-create the tile.
Otherwise, do nothing.

The second set of changes have to do with ensuring that information is
carried along as far as possible when the, sometimes destructive, act of
changing an Image Source is performed. Behavior should be a bit more
natural and expected now; though users will rarely, or should rarely, be
modifying this property. The full table describing the behavior is in
the differential.

Differential Revision: https://developer.blender.org/D14885
2022-08-03 22:00:52 -07:00
Hans Goudey
646207c9af Cleanup: Remove unused function 2022-08-03 22:06:07 -05:00
Chris Blackbourn
2083b9ae54 Cleanup: simplify uv parametrizer in preparation for C++
No functional changes.

Add casts required by C++. Simplify types.
2022-08-04 11:20:39 +12:00
Chris Blackbourn
dcf50cf046 Fix T100132: Disable winding when calculating islands for uv sculpt tools
Winding was originally added to island detection in 5197aa04c6.
However the sculpt tools can flip faces, potentially creating orphaned
islands if winding is enabled.

Differential Revision: https://developer.blender.org/D15600
2022-08-04 11:11:41 +12:00
Joseph Eagar
8288017635 Merge branch 'blender-v3.3-release' 2022-08-03 15:18:25 -07:00
Ethan-Hall
177bc80748 Fix: add attribute with empty string name crash
Due to a recent change, empty strings are unhandled. This results
in Blender crashing.

This patch fixes the crash but a discrepancy still exists...
Prior to the regression, the empty string would be replaced by the
name of the data type. This patch uses "Attribute" for the default
name regardless of type. Restoring the previous behavior would
require making and/or modifying API methods.

Regression introduced in: rBeae36be372a6

Reviewed By: Joseph Eagar & Campbell Barton
Differential Revision: https://developer.blender.org/D14734
Ref D14734
2022-08-03 15:16:46 -07:00
Joseph Eagar
f7e5a3b816 Merge branch 'blender-v3.3-release' 2022-08-03 15:06:15 -07:00
Joseph Eagar
b65ab29310 Sculpt: Fix T99294: Voxel Remesher text is resized based on object scale 2022-08-03 15:05:56 -07:00
Hans Goudey
bc15812e0d Merge branch 'blender-v3.3-release' 2022-08-03 17:03:16 -05:00
Hans Goudey
1cc11e32e4 Fix: Avoid OBJ importer assert seting normals on mesh with no faces 2022-08-03 16:59:03 -05:00
Campbell Barton
6089a96be2 Cleanup: spelling, code-blocks 2022-08-04 07:54:29 +10:00
Campbell Barton
1ec7f75b2a Cleanup: format 2022-08-04 07:41:03 +10:00
Campbell Barton
cc1daa9b76 Cleanup: quiet nonnull-compare warning for GCC
All callers ensure this is not NULL.
2022-08-04 07:31:42 +10:00
Ramil Roosileht
a217e56575 Sculpt: Support gradient color mode in sculpt paint brush
T99614

Support for gradient mode in sculpt paint brush

{F13316165}

Reviewed By: Joseph Eagar & Julian Kaspar
Differential Revision: https://developer.blender.org/D15502
Ref D15502
2022-08-03 14:09:37 -07:00
Ramil Roosileht
6f62a388df Sculpt: Support gradient color mode in sculpt paint brush
T99614

Support for gradient mode in sculpt paint brush

{F13316165}

Reviewed By: Joseph Eagar & Julian Kaspar
Differential Revision: https://developer.blender.org/D15502
Ref D15502
2022-08-03 14:08:23 -07:00
Hans Goudey
9d7aac6d66 Cleanup: Use generic utility to retrieve attributes to transfer 2022-08-03 15:37:57 -05:00
Hans Goudey
a5a60d0f4f Cleanup: Fix doxygen section for custom data type 2022-08-03 13:20:01 -05:00
Brecht Van Lommel
09df97e897 Merge branch 'blender-v3.3-release' 2022-08-03 19:55:12 +02:00
Brecht Van Lommel
cc12f3e0ba Cleanup: fix various typos
Contributed by luzpaz.

Differential Revision: https://developer.blender.org/D15588
2022-08-03 19:28:05 +02:00
Liu Deyuan
411b4ed6ed Fix T96247: Principled BSDF roughness different in startup blend and new node
Change startup roughness to 0.5.

Differential Revision: https://developer.blender.org/D15586
2022-08-03 19:24:25 +02:00
Brecht Van Lommel
f6ca44efd6 Fix T100106: image movie/sequence auto refresh affects still image performance 2022-08-03 19:24:09 +02:00
Hans Goudey
81d75affb1 Cleanup: Use const arguments in definition, add helper variable 2022-08-03 11:59:16 -05:00
Aras Pranckevicius
ac32f5ac4f Merge branch 'blender-v3.3-release' 2022-08-03 19:09:57 +03:00
Aras Pranckevicius
10c4734978 Fix T100173: fix missing removal of old name in BLO_update_defaults_startup_blend
If a screen had to be renamed, the old name was not removed from
the name map. Fixes T100173.
2022-08-03 19:09:21 +03:00
Iliay Katueshenock
55a332da64 Attribute Math: Improve performance of mixer in some cases
The `DefaultMixer` for mixing generic data types has some issues:
1. The full buffer is always zeroed, even if only some is used.
2. Finalizing also works on all values, even if only some are used.
3. "mixing" doesn't allow setting the first value, requiring that
everything is cleared beforehand.

This commit adds the following functionality:
1. Constructor with the specified `IndexMask` for preliminary zeroing.
2. `set` method to overwrite the value.
3. `finalize` with the specified mask to process a subset of values.

This is useful in situations where you want to use the
DefaultMixer without having to overwrite all the values many times.

A performance improvement was observed for NURBS curve evaluation and
attribute interpolation from the point to curve domain of about 15% and
35% respectively (100,000 curves).

Differential Revision: https://developer.blender.org/D15434
2022-08-03 10:18:02 -05:00
Sebastian Parborg
144027d70f Fix sequencer viewport render not respecting the "use_stamp" option
The sequencer OpenGL viewport renders would not render the metadata into
the image even if the option was on.

Did minor cleanups in the render function as well.
2022-08-03 17:15:19 +02:00
Hans Goudey
42f9430a3a Fix: Warning from incorrect use of macro
From d52551401e, exposed by recent C++ conversion.
2022-08-03 09:41:01 -05:00
Hans Goudey
9c8998ed11 Merge branch 'blender-v3.3-release' 2022-08-03 09:25:28 -05:00
Hans Goudey
06b6c004f5 Fix T100168: Sculpt positions undo not working after recent commit
efe0e2b183 used the "normals_update" for applying positions from
an undo step, which doesn't set the necessary flags for a redraw.
2022-08-03 09:18:13 -05:00
Antonio Vazquez
bdc30bd0fb Fix T100171: GPencil toggle caps operator does not support multiframe
This was a missing feature.
2022-08-03 15:45:08 +02:00
Bastien Montagne
9896dd4d16 Merge branch 'blender-v3.3-release' 2022-08-03 10:49:45 +02:00
Bastien Montagne
25517f36bc Cleanup: Improve doc of the BKE_id_copy functions. 2022-08-03 10:49:20 +02:00
Sergey Sharybin
d269fb1d72 Fix assert failures in the dependency graph
Happens after recent changes in the area.

The asserts were a bit too strict and were against the way how the
ID_RECALC_ALL is handled. So remove them with explanation why things
needs to be silent.
2022-08-03 09:31:05 +02:00
Aras Pranckevicius
e3913ec6c1 Merge branch 'blender-v3.3-release' 2022-08-03 09:51:34 +03:00
Aras Pranckevicius
89f0fedb5c Fix T97769: new OBJ exporter does not replace spaces in object names
The Python based exporter was replacing spaces with underscores
in object/group names, mostly to handle cases where names could begin
or end with spaces. The new exporter was not doing that. Note: spaces
in material names were already handled by the new exporter.

Fixes T97769. Updated test coverage expectations; one of the test
files has an object with a space in the name.
2022-08-03 09:49:56 +03:00
Jeroen Bakker
c9821b6c01 Fix compile issue in recent commit.
fallthrough in case statement.
2022-08-03 08:25:41 +02:00
Angus Stanton
ea70687dd5 Image: Display GPU layout in uiTemplateImageInfo
Add IMB_gpu_get_texture_format and GPU_texture_format_description to
retrieve and 'stringify' an eGPUTextureFormat. These are then used in the
image info panel used in several areas across blender.

New Information:
{F13330937}

Reviewed By: jbakker

Maniphest Tasks: T99998

Differential Revision: https://developer.blender.org/D15575
2022-08-03 08:15:12 +02:00
Colin Basnett
abc46d5aeb Fix: Timeline marker names are not correctly clipped in some cases
Timeline marker names are now correctly clipped instead of messily
overlapping each other and being unreadable. This change affects all
the animation editors (graph editor, NLA, action editor etc.) as well
as the VSE.

This also makes a change to when text is elevated. In the previous
behavior, a marker's text would be elevated if it was selected or if
the current frame was <= 4 frames away from the marker. This seems
like a completely arbitrary thing (probably added in to alleviate text
overlapping for markers that the user would be interested in). This
patch changes the behavior such that the marker's text will be elevated
if it is either selected or it is the last marker encountered relative
to the current frame.
2022-08-02 20:59:44 -07:00
Chris Blackbourn
68c1eb86a6 Fix unreported: Add tie-break conditions for udim search with integers
When searching for closest UDIM with integer co-ordinates, several UDIMs
can be equidistant. Previously, of all closest UDIMs, the one which was
earliest in the list would be used. Now, "half-open interval" rules are
used to break the tie.

Motivated by 0fcc04e7bf

Differential Revision: https://developer.blender.org/D15590
2022-08-03 13:20:54 +12:00
Hans Goudey
43918ec28d Geometry Nodes: Speed up reading attribute with different type
The virtual array created by the implicit conversions had a lot of
overhead when converting many values. Implement "materialize"
functions to avoid a virtual function call for every element.
This gave me a 20x improvement when copying the values
from a float attribute as a boolean, though I doubt there are
any real world situations where it's that noticible.
2022-08-02 19:23:13 -05:00
Chris Blackbourn
fc1a53eb7b Cleanup: Remove unused function uv_poly_copy_aspect 2022-08-03 09:51:55 +12:00
Clément Foucault
f4fe3fb09b EEVEE-Next: Depth Of Field: Port implementation to compute shader
This is a port of the previous implementation but using compute
shaders instead of using the raster pipeline for every steps.

Only the scatter passes is kept as a raster pass for obvious performance
reasons.

Many steps have been rewritten to take advantage of LDS which allows faster
and simpler downsampling and filtering for some passes.

A new stabilize phase has been separated from another setup pass in order
to improve it in the future with better stabilization.

The scatter pass shaders and pipeline also changed. We now use indirect
drawcall to draw quads using triangle strips primitives. This reduces
fragment shader invocation count & overdraw compared to a bounding
triangle. This also reduces the amount of vertex shader invocation
drastically to the bare minimum instead of having always 3 verts per
4 pixels (for each ground).
2022-08-02 21:53:17 +02:00
Clément Foucault
2ea4754109 EEVEE-Next: Cleanup: Remove static references for swapchains
Those are no longer necessary.
2022-08-02 21:53:17 +02:00
Clément Foucault
335dbccc33 EEVEE-Next: Fix GL errors when rendering with transparent materials
For now, we need to always bind the render pass images even if not used.
2022-08-02 21:53:17 +02:00
Clément Foucault
75dda90030 EEVEE: Depth of field: Fix incorrect variance occlusion
The change is likely not noticeable.
2022-08-02 21:53:17 +02:00
Clément Foucault
04d43e8dbb GL: Remove lingering image binds
This updates image bind tracking to be the same as texture binds.
Adding a new bind flag to avoid conflict when the texture is used in
both slots.
Fixes a gl error in glBindImageTextures about invalid image binds.
2022-08-02 21:53:17 +02:00