Commit Graph

145267 Commits

Author SHA1 Message Date
Damien Picard
e699f0e5c7 I18n: Disambiguate "Smooth"
"Smooth" can be many things, but mostly a verb or adjective depending
on context.

Already handled in the past, but some things were missed or introduced
since then.
2025-01-13 12:40:45 +01:00
Damien Picard
4a8d494240 I18n: Disambiguate "Sharp"
"Sharp" can refer to a curve falloff, not a mesh edge's geometric
property.
For an existing enum property `Brush.curve_preset`, use the same
context ID_CURVE_LEGACY as other messages, instead of ID_CURVES.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
3d254c51f4 I18n: Disambiguate "Shaded"
"Shaded" as in object shading, not UI.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
74f5fa55ac I18n: Disambiguate "Samples"
"Samples" is used in Rigify rig templates, as opposed to rendering.
2025-01-13 12:40:45 +01:00
Damien Picard
4b729022f6 I18n: Disambiguate "Precision"
"Precision" mode for a modal operator, not the measurement.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
c3d071e469 I18n: Disambiguate "Power"
- In the context of color balance, refers to a power function. Uses
  ID_MOVIECLIP context, because the ID_NODE is already used for math
  functions.
- In the context of the scale constraint, also a power function.
- In the context of physics and particle settings, refers to a
  falloff.
- In the context of property subtypes and units, refers to a
  quantity.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
88dbe8dcd1 I18n: Disambiguate "Pattern"
- "Pattern" can mean type of texture.
- It can also refer to refers to a type of matching wildcard.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
5857000a65 I18n: Disambiguate "Normal"
"Normal" means "ordinary", not "perpendicular".

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
466af92f7a I18n: Disambiguate "Light"
"Light" already has multiple contexts, but some were missing:
- In general, "Light" refers to a Blender Light object. In many cases,
  this comes from an `id_type` enum, already using the ID context. Use
  it also for properties that were missing that context.
- In the context of render passes, "Light" is the actual illumination
  factor, not the light emitor. A new "Render Layer" translation
  context is introduced for this purpose as no existing ones are both
  specific and explicit enough.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
1ee31effca I18n: Disambiguate "Jitter"
"Jitter" means a type of keyframe, not a sampling strategy.
2025-01-13 12:40:45 +01:00
Damien Picard
8ff8fc4859 I18n: Disambiguate "Floor"
Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
3029e9ccfe I18n: Disambiguate "Fix"
"Fix" is used in the unusual way of "make one object steady relative
to another", not "repair something".
2025-01-13 12:40:45 +01:00
Damien Picard
f67911cb47 I18n: Disambiguate "Fill"
- In the context of mesh extrusion, "Fill" means "Fill the rim of an
  extruded edge loop" (verb).
- In the context of the file browser, it means select every file
  between beginning and end.
- In the context of an image, fill the tile with  generated image.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
45f0d52dc8 I18n: Disambiguate "Extension"
"Extension" means how to extend an image past its bounds, as opposed
to file extension.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
2b3f0d0110 I18n: Disambiguate "Extend"
- "Extend" usually means making selection bigger around the current
one.
- In the context of Grease Pencil filling, it means lengthen lines.
- In the context of curve mappings, it refers to the extrapolation
  mode.
- In the context of volume sequences, it refers to frame range
extension.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
c2096b1c01 I18n: Disambiguate "Error"
"Error" as difference from expected value, not program error.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
ac419231a8 I18n: Disambiguate "End"
"End" in "Clip End" can be better translated to something like "Far"
in some languages. Using the "Camera" context even when it's not
specifically a camera clipping (also affects light probes).

Issue reported by Gorazd-Gorup.
2025-01-13 12:40:45 +01:00
Damien Picard
100d7094f1 I18n: Disambiguate "Drag"
- In the context of physics, a force.
- In the context of UI, a mouse action.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
973b981158 I18n: Disambiguate "Cross"
- "Cross" can refer to a cross shape "+" in the context of a gizmo or
  a particle display mode.
- In the context of a sequence, refers to a blending mode (cross
  fade).

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
3c6787fe9f I18n: Disambiguate "Box"
- In a text sequence, "Box" refers to the color rectangle behind the
  text. Reuses the "Sequence" context already used for the same thing.

Issue reported by Gabriel Gazzán.
2025-01-13 12:40:45 +01:00
Damien Picard
54c0c5539a I18n: Disambiguate "Back"
- In the context of Grease Pencil, meaning "Overshoot".
- In the context of XR navigation, meaning "Going backwards".
  This introduces a "Navigation" context. Closest existing match is
  "View3D" but this is already used to refer to view axes.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
f833e915c8 I18n: Disambiguate "Average"
"Average" here is a verb, not a noun.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
434f7e83e8 I18n: Disambiguate "Additive"
- In the Grease Pencil Build modifier, "Additive" describes how it
  works, not a math operation.
- In the Copy Scale constraint, additive mode is not really a math
  operation either.

Issue reported by Hoang Duy Tran.
2025-01-13 12:40:45 +01:00
Damien Picard
ecb4984d65 I18n: Do not disambiguate some messages
- "Match Case" and "Wrap Around" were renamed but they do not need a
  translation context anymore.
- Spreadsheet tooltips with unneeded translation of format
  strings like `fmt::format(TIP_("{}"))`.
2025-01-13 12:40:45 +01:00
Aras Pranckevicius
4515713db7 Fix #132237: crash when opening Ogg file with embedded album art
This works around ffmpeg bug https://trac.ffmpeg.org/ticket/10755
where for specific files that are:

- Ogg container format, with supported audio stream (e.g. Vorbis),
- But the video stream is not Ogg-compatible (e.g. Theora), but rather
  it is an embedded "album art" (AV_DISPOSITION_ATTACHED_PIC) in
  MJPEG, PNG or some other non-Ogg format.

Calling any sort of ffmpeg "seek" function on that video stream just
aborts from innards of ffmpeg.

So to work around this:
- Detect such files (ogg container, non-theora video, attached picture
  disposition) and for those:
- Never seek within them, and only ever decode one frame. Return that
  frame for any & all "give me a frame" requests.
- Additionally, calculating "how many frames this video has" for such
  files also returns nonsense ("millions of frames") since their frame
  rate is set to like 90000 or similar. So pretend they have a "sane"
  frame rate. Do all this frame rate calculation just once when opening
  the video, and use that result in all other places.
- Never build proxies for such video files, since e.g. "timecode"
  for them does not make sense.

All of this could be removed once/if ffmpeg fixes their issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/132920
2025-01-13 12:16:15 +01:00
Richard Antalik
d41a4673d7 Fix #62754: VSE solo preview over sound strip blanks preview
Do not set solo preview if strip is sound type.

Originally I wanted to set solo preview to strip, that is below chosen
sound strip, but now I think, that is would be confusing.

Pull Request: https://projects.blender.org/blender/blender/pulls/132988
2025-01-13 11:59:33 +01:00
YimingWu
de9ded0ec8 Fix (unreported): Grease Pencil: Do not show EEVEE material slot
EEVEE material slots would be erroreously shown when there's no material
slots in a Grease Pencil object. Changed the `poll` function to prevent
this from happening.

Pull Request: https://projects.blender.org/blender/blender/pulls/132846
2025-01-13 11:05:23 +01:00
Brecht Van Lommel
cd7e5f0357 Build: Link to fewer Boost libraries
There were still a bunch of indirect dependencies from when static
linking was used. No need to link Blender against them.

Pull Request: https://projects.blender.org/blender/blender/pulls/132914
2025-01-13 10:40:18 +01:00
Brecht Van Lommel
357d748b18 Fix: Invalid memory access closing window with escape
After recent #132539.
2025-01-13 10:07:37 +01:00
Brecht Van Lommel
96eef81d90 Fix: Cycles assert cancelling render during kernel compilation 2025-01-13 10:07:37 +01:00
Brecht Van Lommel
28ecb6ccf0 Fix #132566: Cycles volume render artifact with high res volume
Avoid integer overflow creating bounding mesh.
2025-01-13 10:07:37 +01:00
Brecht Van Lommel
5710e62273 Fix: Hydra MaterialX conversion crash with some image file types
The extension argument to BKE_image_path_ext_from_imformat should be
an array of pointers.
2025-01-13 10:07:37 +01:00
Brecht Van Lommel
612cb61199 Cleanup: Cycles: Use simpler make_float3 for single value 2025-01-13 10:07:37 +01:00
Brecht Van Lommel
f2bf9d747e Cleanup: Cycles: Remove some unused kernel entry points on CPU 2025-01-13 10:07:37 +01:00
Brecht Van Lommel
2bf6d0fd71 Cleanup: Cycles: Remove unnecessary SSE4.2 CPU kernel
This is the minimum requirement, so just the regular kernel already
includes these instructions if supported by the CPU architecture.
2025-01-13 10:07:37 +01:00
Brecht Van Lommel
89b793f130 Cleanup: Compiler warning 2025-01-13 10:07:37 +01:00
Lukas Tönne
3bdc1bfd0a Fix #131573: Ensure vertex group attributes when subdividing Grease Pencil strokes
In order to copy vertex group weights when subdividing strokes the
groups (`bDeformGroup`) must be created in advance, so that the attribute
wrappers correctly write to `CD_MDEFORMVERT` layer instead of creating simple
`CD_PROP_FLOAT` layers.

In addition the subdivision function must take care to fully write the
destination arrays, since initial values must be considered uninitialized (this
is obfuscated for simple CustomData arrays but breaks with more complex
attributes that use a buffer). In order to ensure fully defined destination
buffers without additional copies, the `finish` call to attribute writers is
postponed until the unselected attribute values have also been copied from input
buffers and all the values are properly defined.

Pull Request: https://projects.blender.org/blender/blender/pulls/132854
2025-01-13 09:45:11 +01:00
Jeroen Bakker
a4914b8972 Vulkan: Disable local read on non Qualcomm devices
Only enable by default dynamic rendering local read on Qualcomm devices. NVIDIA, AMD and Intel
performance is better when disabled (20%). On Qualcomm devices the improvement can be
substantial (16% on shader_balls.blend).

`--debug-gpu-vulkan-local-read` can be used to use dynamic rendering local read on any
supported platform.

Future: Check if bottleneck is during command building. If so we could fine-tune this after the
device command building landed (#T132682).

Pull Request: https://projects.blender.org/blender/blender/pulls/132981
2025-01-13 09:29:16 +01:00
Jeff Moguillansky
75dc76bceb Vulkan: Add support for dynamic rendering local read
This will add support for `VK_KHR_dynamic_rendering_local_read` when supported.
The extension allows reading from an attachment that has been written to by a
previous command.

Per platform optimizations still need to happen in future changes. Change will
 be limited to Qualcomm devices (in a future commit).

On Qualcomm devices this provides an uplift of 16% when using shader_balls.blend

Pull Request: https://projects.blender.org/blender/blender/pulls/131053
2025-01-13 08:10:31 +01:00
Campbell Barton
5ceaff9aa6 Fix #132976: Crash animating along a 1-segment path
The binary lookup assumed there was at least two elements in the array.
2025-01-13 16:25:52 +11:00
Sean Kim
9051c11b72 Cleanup: Minor variable cleanup and reorganization
* Reduces scope of `location` variable.
* Renames variable to `world_location`.
* Adds const
* Uses C++ math functions where

Pull Request: https://projects.blender.org/blender/blender/pulls/132958
2025-01-13 00:05:14 +01:00
Sean Kim
440e87ce55 Cleanup: Reorganize hsv sort paint functions
Pull Request: https://projects.blender.org/blender/blender/pulls/132959
2025-01-13 00:04:36 +01:00
Pratik Borhade
d2418b89c3 UI: Meshcache modifier boolean flip axis property
`flip_axis` is currently an enum RNA property. This makes impossible to
toggle the individual axis. Now fixed by converting the property to
boolean. UI drawing code is same as done for mirror modifier.
New enum values are introduced for each axis

Resolves #70237

Pull Request: https://projects.blender.org/blender/blender/pulls/132849
2025-01-12 09:58:30 +01:00
Alaska
ec161e50b4 Fix: Extra letter in Grease Pencil curve handle type tooltip
The tool tip for the Grease Pencil curve handle type Aligned contained
a random `W` at the end of the tooltip.

This commit removes the extra letter.
2025-01-12 16:50:26 +13:00
Jesse Yurkovich
c3589a4c0a Cleanup: USD: Make USDCurvesReader abstract to prepare for Nurbs changes
In preparation for allowing the Nurbs reader to import as curves rather
than mesh, change `USDCurvesReader` to be abstract so we can share most
of the boilerplate in the base class. The existing basis-curves code is
shifted into a new `USDBasisCurvesReader` class.

Pull Request: https://projects.blender.org/blender/blender/pulls/132954
2025-01-12 01:00:19 +01:00
John Kiril Swenson
225c5c9745 Cleanup: VSE: Improve 'Preview During Transform' Tooltip
Should better clarify the intent of the operator.
2025-01-11 16:39:06 -06:00
John Kiril Swenson
c6f8f24c29 VSE: Cleanup RCS logic and add comments
- Previously, `change_frame_invoke` always ran
  `sequencer_skip_for_handle_tweak` check, even if the user was not
  using the sequencer. Now, the check is only done if the user is in the
  sequencer, where it is possible for them to tweak strips.
- It is now impossible to change the frame from the sequencer preview,
  so remove that logic.
- Also add some explanatory comments for RCS keymap logic in the code.
2025-01-11 15:55:43 -06:00
John Kiril Swenson
6ac58a5b8a VSE: Auto-include effect chain for copying and metastrip creation
Part of Code Quality Project outlined in #130975.

This patch eschews warning messages urging the user to "select all
related strips" when copying or creating new metastrips and instead
automatically includes those related strips in the operation.

- Attempting to copy or create a metastrip with no strips selected no
  longer delivers a warning.
- When copying strip(s), if there are related effect chains, they will
  be automatically selected and included in the copy if the operation
  succeeds.
  - The decision to select related strips was intentional, as it allows
    the user to easily see the entire effect chain and thus which strips
    were copied.
- When creating a new metastrip, if there are related effect chains,
  they will automatically be included in the resulting metastrip.
  - This is done using a new
    `SEQ_query_strip_connected_and_effect_chain()` iterator. This
    iterator is only used for metastrips, and not copying, since the
    user may wish to only copy single strips in a connection, but
    connected strips should always stay together in a metastrip/seqbase.

Pull Request: https://projects.blender.org/blender/blender/pulls/132930
2025-01-11 20:45:46 +01:00
Harley Acheson
e203c7b554 Fix #132931: Allow Wider Icons for Collapsed XYZ Modifiers
Event Icons, those typically shown on the taskbar to indicate keymap
entries, can differ in width. This length is not taken into account
for the modifier keys used when showing collapsed XYZ operations. This
PR just does so.

Pull Request: https://projects.blender.org/blender/blender/pulls/132945
2025-01-11 19:08:15 +01:00
Aras Pranckevicius
4e113c256f UI: improve styling and placement of image/movie current frame indicator
Make it have similar display style and placement as current frame
indicators used elsewhere (timeline, animation etc.), i.e.
time_scrub_ui.cc draw_current_frame:

- The text label is centered on the frame (instead of left aligned),
- Background box uses rounded corners,
- Background box uses padding that scales with overall UI scale,
- Text color uses TH_HEADER_TEXT_HI which makes it more readable

This partially addresses issue #124287 (better text legibility, and
due to label being centered it is less clipped when on the right
side). But fully solving the issue would probably have to be done
across the board for all current frame indicators, with some design
work.

Screenshots in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/132911
2025-01-11 11:21:32 +01:00