Commit Graph

110638 Commits

Author SHA1 Message Date
casey bianco-davis
ddafc57633 GPv3: Primitive use hardness setting.
This makes the all of the primitive tools uses hardness.

Note: there is no UI to change the hardness while using the tool, this matches GPv2.

Pull Request: https://projects.blender.org/blender/blender/pulls/123519
2024-06-21 12:12:27 +02:00
Laurynas Duburas
c9ff4a9e0d Overlay-Next: Speaker
Overlay-Next version of speaker.

Rel #102179

Pull Request: https://projects.blender.org/blender/blender/pulls/123480
2024-06-21 11:19:31 +02:00
Sergey Sharybin
0096c5e461 Merge branch 'blender-v4.2-release' 2024-06-21 10:24:53 +02:00
Sergey Sharybin
a13a116de9 Fix #112804: Compositor movie not rendering if cache is full
The issue is a combination of following aspects:
- Missing null-pointer check in the image operation, which is probably
  why the result was buggy. It is addressed by #123493.
- In certain conditions loading image was wrongfully failing.

The reason for failing to read image were items with a null-pointer
image buffer left by the cache limit enforcer, which was considered
to be an indication of failed load from disk. The reason why the cache
limiter leaves items with null-ptr as an image buffer is kind of a
legacy limitation which was never resolved. Long story short: the
system expects put() to be called on the cache to clear its empty
items.

To solve the original issue of files considered to be unreadable
only set the cache-empty if the image buffer was added empty.

Pull Request: https://projects.blender.org/blender/blender/pulls/123496
2024-06-21 10:24:13 +02:00
Sergey Sharybin
fb8a30986e Merge branch 'blender-v4.2-release' 2024-06-21 10:23:07 +02:00
Sergey Sharybin
320c2e8878 Fix: Compositor crash when second image of Mix node is missing
The first input of the compositor Mix node determines resolution,
leading to situation when the second input will always be attempted
to be evaluated. If the first input is a longer image sequence than
the second input it leads to a crash.

Do a null-pointer check and return transparent image in this cases,
similar to what the Movie Clip operation is doing.

Pull Request: https://projects.blender.org/blender/blender/pulls/123493
2024-06-21 10:22:42 +02:00
Harley Acheson
554400da9a UI: Improved Window Titles
Allow informative titles for separate windows.

Pull Request: https://projects.blender.org/blender/blender/pulls/111495
2024-06-21 06:06:14 +02:00
Campbell Barton
00f12c4f41 Merge branch 'blender-v4.2-release' 2024-06-21 12:32:54 +10:00
Dalai Felinto
49725106af Fix extensions update not showing on the status bar by default
Ref !123495
2024-06-21 12:30:10 +10:00
Campbell Barton
8b9cf02ce9 Merge branch 'blender-v4.2-release' 2024-06-21 10:53:08 +10:00
Campbell Barton
b4213141c2 Merge branch 'blender-v4.2-release' 2024-06-21 10:53:06 +10:00
Campbell Barton
72ef03d5a1 Extensions: split add-ons & extensions into separate preferences
Add back the "Add-ons" preferences, removing add-on logic from
extensions.

- Add support for filtering add-ons by tags
  (separate from extension tags).
- Tags now respect the "Only Enabled" option.
- Remove the ability to enable/disable add-ons from extensions.
- Remove add-on preferences from extensions.
- Remove "Legacy" & "Core" prefix from add-on names.
- Remove "Show Legacy Add-ons" filtering option.

Implements design task #122735.

Details:

- Add-on names and descriptions are no longer translated,
  since it's impractical to translate text which is mostly
  maintained outside of Blender.
- Extensions names have a `[disabled]` suffix when disabled so it's
  possible to identify installed but disabled extensions.
- The add-on "type" is shown in the details,
  so it's possible to tell the difference between an extension,
  a core add-on & a legacy user add-on.
- Icons are also used to differentiate the add-on type.
- User add-on's must be uninstalled from the add-ons section
  (matching 4.1 behavior).
- Simplify logic for filtering tags, move into a function.
2024-06-21 10:42:53 +10:00
Lukas Stockner
bbf7940d34 Cleanup: Memory leak in UI_OT_eyedropper_depth
Shouldn't be triggered by normal operation, but better to fix it just in case.
2024-06-20 22:53:45 +02:00
Aras Pranckevicius
b89c7635d2 Fix: VSE waveform drawing slightly outside strips
Address that by leaving several pixels off the edges.

Image examples in the pull request.

Pull Request: https://projects.blender.org/blender/blender/pulls/123515
2024-06-20 22:10:06 +02:00
Hans Goudey
56904553ec Cleanup: Rename resample attributes utility struct
Simplifies #122155.
2024-06-20 14:56:08 -04:00
Jesse Yurkovich
48b14f817e Merge branch 'blender-v4.2-release' 2024-06-20 11:52:06 -07:00
Jesse Yurkovich
aba1a2b6c2 Fix: incorrect grouping of UI props for USD export
Primarily the `evaluation_mode` enum prop was incorrectly grouped with
the previous `xform_op_mode` enum causing them to combine in the UI.

Additionally, group the `allow_unicode` option under the Blender Data
sub layout as was intended but got lost in a merge.

Pull Request: https://projects.blender.org/blender/blender/pulls/123513
2024-06-20 20:50:37 +02:00
Pablo Vazquez
68766e7308 Merge branch 'blender-v4.2-release'
# Conflicts:
#	source/blender/blenkernel/BKE_blender_version.h
2024-06-20 20:27:44 +02:00
Pablo Vazquez
a4dce75123 VSE: Make waveforms half size by default
Make half-size waveforms default in new files and Video Editing template.
They are more space efficient and display more detail at small sizes.

This does not change existing files.

Pull Request: https://projects.blender.org/blender/blender/pulls/123511
2024-06-20 20:26:17 +02:00
Pablo Vazquez
abb233dd1e VSE: Update theme colors for strips
Some of the existing colors were hard to read with the new
strips design.

Tried following the concept from 2.83 redesign rationale:
* Same saturation for regular strips.
* Lower saturation for effect strips.
* Tried to reduce the hue shift between certain similar effects.

Other changes:
* Match saturation of all regular strips.
* Reduce value and saturation (mostly value) of color tags so
  they are readable in both light and dark text.
* Image: Follow node editor Image node socket color.
* Color: Use the same hue as the color node socket.
* Text: Change it so it doesn’t use the same as Image.
* Sound: Use a greener color, less movie-like blue.
* Scene: Light gray, similar fashion to Collections.
* Other strips had minor adjustments.

Images and details in the pull request.

Pull Request: https://projects.blender.org/blender/blender/pulls/123446
2024-06-20 20:22:12 +02:00
Clément Foucault
eecbe77632 Fix: EEVEE: Light: LTC artifact
This was caused by the tangent basis computation that
had a threshold that was too noticeable.

Increasing the threshold makes the artifact
unoticeable.

Fix #122949
2024-06-20 20:18:48 +02:00
Hans Goudey
b5f8a50c80 Cleanup: Remove accidentally committed debug print 2024-06-20 13:52:14 -04:00
Hans Goudey
b3446ef26a Sculpt: Move some mesh geometry storage out of per-node undo data
This storage of the entire mesh for topology-changing operations doesn't
need to be stored in every single undo node. Move it to the data for the
undo step instead. This decreases the size of undo nodes from 3880 to
1816 bytes. That saves about 4MB of memory on a single stroke affecting
most of a 6 million vertex mesh.

I didn't change anything BMesh related here because it's trickier to get
right and not quite as encapsulated. Moving all BMesh undo data out
of `undo::Node` would be a good step though, because only one undo
node is used anyway.
2024-06-20 13:39:34 -04:00
Hans Goudey
29861d7132 Refactor: Sculpt: Store undo type in step rather than node
Currently all nodes pushed in a single undo step are expected to have
the same type. Storing the undo type in the undo step itself rather than
duplicating it in every node makes it easier to move some "entire mesh"
data out of the undo nodes and into the undo step, with the goal of
making undo nodes smaller and simpler.
2024-06-20 13:39:34 -04:00
Hans Goudey
fd205d9bb9 Sculpt: Add function to push multiple undo nodes at once
Pushing multiple nodes at the same time helps to reduce the amount
of time spent waiting for threads to unlock while they manipulate the
nodes map, and equalizes the amount of work per thread, since we
can iterate over just the nodes that need data stored. I observed a
2.6% speedup in the benchmark file from #118145 (0.59s to 0.57s).
2024-06-20 13:39:33 -04:00
Hans Goudey
c1c221a009 Cleanup: Sculpt: Combine allocation and storage of per-node undo data 2024-06-20 13:39:33 -04:00
Hans Goudey
7d8f3614a7 Sculpt: Centralize undo node size counting
Instead of counting the size of undo steps as they're being built,
add up the size of all undo nodes as a final step when the undo step
is finished. This is faster because it avoids incrementing the same
size variable from many threads (which also wasn't threadsafe).
I measured a 4% performance improvement in the brush benchmark
file from #118145 (from 0.61s to 0.59s).
2024-06-20 13:39:33 -04:00
Hans Goudey
889b142924 Sculpt: Reduce locking when storing undo nodes
Instead of locking for the whole time the undo data is being stored,
only lock while the step's per-node undo node map is being accessed.
This is fine because each PBVH node is only processed by a single thread.

Changing the node vector to not store anything until the undo step is
finalized makes this process a bit simpler because we don't have to build
both the map and the vector at the same time.

Overall this improved the performance of the sculpt brush benchmark
from #118145 by 12%, from 0.68s to 0.61s.
2024-06-20 13:39:33 -04:00
Hans Goudey
a187619955 Cleanup: Sculpt: Inline geometry undo node creation
By itself this change doesn't look great since it's mixing up the
responsibilities of different functions. However, it's preferred
since we want to separate geometry undo state and per-node
undo state further in the future. Eventually geometry undo state
should be stored in `StepData` instead.
2024-06-20 13:39:33 -04:00
Hans Goudey
0741fa373d Cleanup: Sculpt: Remove unused undo::push_node return value 2024-06-20 13:39:33 -04:00
Hans Goudey
69c0d5f658 Cleanup: Sculpt: Document undo::push_node thread safety 2024-06-20 13:39:33 -04:00
Hans Goudey
94d720832a Cleanup: Sculpt: Use references for undo nodes 2024-06-20 13:39:33 -04:00
Hans Goudey
89ba454fe8 Cleanup: Sculpt: Use const for original data undo nodes 2024-06-20 13:39:33 -04:00
Hans Goudey
385cc4fb3b Cleanup: Sculpt: Use references for SculptSession variables 2024-06-20 13:39:33 -04:00
Hans Goudey
2079507ca5 Refactor: Sculpt: Separate geometry and per-node undo step code paths
Sometimes undo data is stored per PBVH node, and sometimes the entire
geometry is stored. Currently these go through the same `undo::push_node`
function, which is confusing and limits improvements we can make to the
pushing of per-node undo data.
2024-06-20 13:39:33 -04:00
Hans Goudey
e472055db1 Cleanup: Sculpt: Use std::mutex instead of global LOCK_CUSTOM1 2024-06-20 13:39:33 -04:00
Hans Goudey
63735bb212 Sculpt: Move pivot transform out of per-node undo data
Similar to 21f204b06e.
2024-06-20 13:39:33 -04:00
Hans Goudey
5c39182be8 Sculpt: Move shape key name out of per-node undo data
Similar to 21f204b06e.
2024-06-20 13:39:33 -04:00
Harley Acheson
402610b766 Merge branch 'blender-v4.2-release' 2024-06-20 10:31:13 -07:00
Harley Acheson
6ef2e6f606 Fix #123471: Ensure Trailing Slash for Default Folder Path
In file_browse_invoke, if the path is blank we attempt to use
BKE_appdir_folder_default_or_root to get the user's normal document
root.  However we are not ensuring that the directory path has a
trailing slash, which can result in it being misinterpreted as a file
path instead, separating out the last path part. This PR only adds a
call to BLI_path_slash_ensure.

Pull Request: https://projects.blender.org/blender/blender/pulls/123504
2024-06-20 19:30:18 +02:00
Clément Foucault
6161cc183e Fix: EEVEE: Fast GI: Firefly in noisy regions
This was caused by some pixels having no good neighbors
to get the irradiance from. The weighted sum would
have huge precision issues and the values would blow-out.

Adding an epsilon weight tailored to the report file
to fix this issue.

Fix #123488
2024-06-20 18:50:36 +02:00
Pablo Vazquez
7bbb914949 Merge branch 'blender-v4.2-release' 2024-06-20 18:13:36 +02:00
Pablo Vazquez
e2acb73a03 Fix: VSE padding of missing media/data-block icon
The icon for missing media/data-block would be too close to the edges.

Decrease the size so it matches the size of the label and aligns with
the text baseline.
2024-06-20 18:12:12 +02:00
Miguel Pozo
4f8650d5c2 Fix #122714: Workbench: Missing textures not shown in Texture Paint mode with magenta
Missing feature from the Workbench Next port.

Pull Request: https://projects.blender.org/blender/blender/pulls/123034
2024-06-20 18:08:13 +02:00
Miguel Pozo
d8e710885c Fix #122714: Workbench: Missing textures not shown in Texture Paint mode with magenta
Missing feature from the Workbench Next port.

Pull Request: https://projects.blender.org/blender/blender/pulls/123034
2024-06-20 18:06:26 +02:00
Miguel Pozo
c90b78bb6e Merge branch 'blender-v4.2-release' 2024-06-20 18:03:56 +02:00
Miguel Pozo
33005ad716 GPU: Non-blocking specialization constants compilation
Update the batch specializations compilation to allow using it in an
async way.

The implementation has 2 main limitations:
- Only one batch at a time can be processed, extra batches will be
  added to a queue.
- Binding a specialization variant that is still being compiled will fail.

Pull Request: https://projects.blender.org/blender/blender/pulls/123015
2024-06-20 18:02:44 +02:00
Pablo Vazquez
fc999a4a73 Merge branch 'blender-v4.2-release' 2024-06-20 17:43:13 +02:00
Pablo Vazquez
8cb0b347ae Fix: VSE readability for missing muted/media/datablock labels
With the recent change for labels to be black when not active/selected,
the hardcoded colors of missing media/data-blocks make it hard to read.

- Use a lighter color just like muted strips.
- Makes active/selected muted strips draw labels in full opacity, for consistency.
- Make muted strips a little less gray (50% instead of 80%)

Pull Request: https://projects.blender.org/blender/blender/pulls/123494
2024-06-20 17:36:58 +02:00
Sergey Sharybin
09394c5445 Merge branch 'blender-v4.2-release' 2024-06-20 17:07:28 +02:00