Commit Graph

92566 Commits

Author SHA1 Message Date
Julian Eisel
b2e5fc72c8 Merge branch 'blender-v3.2-release' 2022-05-23 21:08:01 +02:00
Julian Eisel
8f79fa9c67 Fix further issues when mixing link & append for asset drag & drop
917c096be6 applied to objects only, this also applies the same fix for
the general 3D View drop operations, e.g. used for dragging materials,
images, worlds, etc.

This is needed to fix T95706, but apparently something else is still
going on. Needs further investigation.
2022-05-23 21:00:01 +02:00
Julian Eisel
0d6dda4555 Cleanup: Move new utilities for ID lookup operator properties
Move them to a more accessible place, so that other operators in
different files can use them. The following commit needs this.
2022-05-23 20:59:55 +02:00
Julian Eisel
02c5ca2f22 Fix possible issues when mixing link & append for asset drag & drop
The operators to handle object drag and drop (from the asset browser,
outliner, etc.) used the object name to find the object to add and
place. This is problematic with linking and/or library overrides, since
this may lead to multiple objects with the same name. So the wrong
object would be used by the drop operators.

Partially fixes T97320. T95706 probably needs the same fix but for
materials.

As a side-effect, the "Name" button won't show up in the Adjust Last
Operation panel anymore. This isn't really useful, and I doubt this was
ever intentionally exposed in the UI.
2022-05-23 20:59:47 +02:00
Julian Eisel
917c096be6 Fix possible issues when mixing link & append for asset drag & drop
The operators to handle object drag and drop (from the asset browser,
outliner, etc.) used the object name to find the object to add and
place. This is problematic with linking and/or library overrides, since
this may lead to multiple objects with the same name. So the wrong
object would be used by the drop operators.

Partially fixes T97320. T95706 probably needs the same fix but for
materials.

As a side-effect, the "Name" button won't show up in the Adjust Last
Operation panel anymore. This isn't really useful, and I doubt this was
ever intentionally exposed in the UI.
2022-05-23 20:11:37 +02:00
Aras Pranckevicius
ffa262c9f8 obj: remove unneeded CTX_data_ensure_evaluated_depsgraph
As discussed on the chat and pointed out in D15015, that call is
not needed there (none of the other importers do it either).
2022-05-23 20:43:53 +03:00
Aras Pranckevicius
9e45af530a Fix T98293: Scene stats info not updated after new OBJ import
The importer was not doing a notification that the scene has changed, so
the bottom status bar scene stats info was not updated right after the
new OBJ import.

Reviewed By: Julian Eisel
Differential Revision: https://developer.blender.org/D15015
2022-05-23 20:42:27 +03:00
Patrick Mours
a8c81ffa83 Cycles: Add half precision float support for volumes with NanoVDB
This patch makes it possible to change the precision with which to
store volume data in the NanoVDB data structure (as float, half, or
using variable bit quantization) via the previously unused precision
field in the volume data block.
It makes it possible to further reduce memory usage during
rendering, at a slight cost to the visual detail of a volume.

Differential Revision: https://developer.blender.org/D10023
2022-05-23 19:08:01 +02:00
YimingWu
14a5a91e0e LineArt: Use CAS for add_triangles.
Using the atomic "compare and swap" method in add_triangles stage
dramatically speeds up the add_triangles call and significantly reduced
the overall calculation time. This is currently the fastest method we
have experimented with so far.

Reviewed By: Sebastian Parborg (zeddb)

Differential Revision: https://developer.blender.org/D14953
2022-05-24 00:28:52 +08:00
Julian Eisel
0e6d70fec9 Fix "Open Clip" operator in Clip Editor broken
Steps to reproduce were:
- Open Clip Editor
- Call "Open Clip" (e.g. Alt+O)
- Select video file

The file wouldn't be loaded into the Clip Editor.

Caused by 7849b56c3c.
2022-05-23 18:01:11 +02:00
Campbell Barton
d91711bc85 Fix for crash opening the file selector multiple times
This is part of a fix for T88570, where the file selector would crash
when activated multiple times.

Calling save multiple times would free the operator, leaving a dangling
pointer which was used when panels were visible that accessed the
"active_operator".

Reviewed By: Severin

Ref D14905
2022-05-23 18:01:11 +02:00
Julian Eisel
bc8e030a84 Fix T88570: Crash when saving after pressing ctrl+S twice.
Existing code to replace the file operation was failing when done from
the window for the file operation itself.

Basically, this patch does two things:
- Implement a well defined window context to use as the "owner" or
  "root" of the File Browser. This will be used for managing the File
  Browser and to execute the file operation, even after the File Browser
  was closed.
- Ensure the context is valid when dealing with file File Browser event
  handlers.

Previously the window context just wasn't well defined and just happened
to work well enough in most cases. Addressing this may unveil further
issues, see T88570#1355740.

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

Reviewed by: Campbell Barton
2022-05-23 18:01:11 +02:00
Clément Foucault
2b9dfff6f3 Cleanup: GPU: Remove gpu_shader_common_obinfos_lib.glsl
This has been replaced by `draw_object_infos`.
2022-05-23 17:20:12 +02:00
Clément Foucault
09b7e141d2 Fix T98251: EEVEE: Regression: Wrong normalmaps on scaled objects
This was caused by a missing `normalize`.
2022-05-23 17:20:12 +02:00
Clément Foucault
e4de0d28c4 EEVEE: Fix unreported broken normal map node modes
A compilation error was making it impossible to use normal map modes other
than tangent.
2022-05-23 17:20:12 +02:00
Clément Foucault
bce37bc52a Cleanup: GPU: Remove gpu_shader_common_obinfos_lib.glsl
This has been replaced by `draw_object_infos`.
2022-05-23 17:19:37 +02:00
Clément Foucault
7542dc460f Fix T98251: EEVEE: Regression: Wrong normalmaps on scaled objects
This was caused by a missing `normalize`.
2022-05-23 17:16:15 +02:00
Clément Foucault
5565d79057 EEVEE: Fix unreported broken normal map node modes
A compilation error was making it impossible to use normal map modes other
than tangent.
2022-05-23 17:13:57 +02:00
Julian Eisel
16fd5fa656 Cleanup: Early-exit in button handling code, minor cleanups
This should decrease cognitive load because:
- Intention is more explicit
- Shorter visual scope of branches (no need to search for matching
  closing brackets and `else` blocks)
- Visually less busy code because condition-checks and code that
  "actually does things" are separated, with less indentation
- Avoids chaining together a bunch of conditions to a single `if`

Also: Use `const`, correct comment placement, whitespace improvements.
2022-05-23 16:55:43 +02:00
Clément Foucault
7f1a5f2567 Merge branch 'blender-v3.2-release' 2022-05-23 16:33:04 +02:00
Johannes J
f4d31fbf6c DRW: Fix signed/unsigned mismatches in shader code
Fix the following error messages on Blender startup
since commit 308a12ac64.

This commit fixes T98194.

Reviewed By: fclem
Differential Revision: https://developer.blender.org/D15007
2022-05-23 16:30:18 +02:00
Clément Foucault
85e3e3be5b Merge branch 'blender-v3.2-release' 2022-05-23 16:24:50 +02:00
Clément Foucault
aea59428eb Fix T98128: EEVEE: Regression: Inverted surface normal on MacOS Intel GPU
This seems to be caused by the `!` used in conjunction with a macro.
Using the macro directly as condition does not exhibit this issue.
2022-05-23 16:23:50 +02:00
Sybren A. Stüvel
63cf0d0890 Fix T98196: Crash when moving tweaked NLA strip with empty track below
`BKE_nlastrip_find_active()` and `update_active_strip()` now do a more
thorough search for the active strip, by also recursing into
meta-strips.

There were some assumptions in the NLA code that the active strips is
contained in the active track. This assumption turned out to be false:
when there is a meta-strip, the active strip could be inside that, and
then it's not contained in `active_track.strips` directly.

Apart from the above, there are other situations in which the track
pointed to by `AnimData::act_track` does *not* contain the active strip
(even indirectly).

Both these cases can happen when the transform system is moving a strip
that's in tweak mode. Entering tweak mode doesn't just search for the
active track/strip, but also falls back to the last-selected ones. This
means that the track/strip pointers & flags can be out of sync with
what's being tweaked/transformed. Because of this, the assumption that
there is any relation between "active strip" and "active track" has been
removed from the `update_active_strip()` function.

All this searching could be prevented by passing the `AnimData` to the
code that duplicates tracks & strips. That way, when the active
track/strip is dup'ed, the `AnimData` pointers can be updated as well.
That would require more refactoring and thus could introduce other bugs,
so that's left for later.
2022-05-23 16:12:09 +02:00
Aleš Jelovčan
82d7234ed9 GPencil: A Ping Pong effect to Time modifier
This patch adds 4th option to Time offset modifier Modes.

It loops from start frame to end frame and then back to start in reverse direction.
In other words it is a combination of Normal and Reverse mode.

Especially with offset control it adds the ability to create easy looping animations such as cheering crowds, flowers opening and closing at different offsets.

Reviewed By: #grease_pencil, antoniov, pepeland, mendio

Differential Revision: https://developer.blender.org/D14965
2022-05-23 16:03:04 +02:00
Dalai Felinto
3e4f84d10d Merge remote-tracking branch 'origin/blender-v3.2-release' 2022-05-23 15:57:33 +02:00
Brecht Van Lommel
eb5e7d0a31 Cleanup: clarify what is scene linear color space in conversion conversion
* Rename ambiguous rgb to scene_linear in some places
* Precompute matrices to directly go to scene instead of through XYZ
* Make function signatures more consistent
2022-05-23 15:34:50 +02:00
Brecht Van Lommel
469ee7ff15 Python API: add mathutils.Color functions to convert color spaces
Between scene linear and sRGB, XYZ, linear Rec.709 and ACES2065-1.

And add some clarifications about color spaces in the docs.

Fixes T98267

Ref T68926

Differential Revision: https://developer.blender.org/D14989
2022-05-23 15:34:50 +02:00
Sergey Sharybin
09292b89c3 Fix wrong mouse tolerance in mask editor
There are two issues. The biggest one was that a pixel value was used
to compare a squared distance meaning the tolerance was too strict.
The other issue was that the tolerance in pixels was different to what
the tracking mode is using.

The user-level change is that now it should be easier to tweak the
mask shape.
2022-05-23 15:22:08 +02:00
Sergey Sharybin
00506d7a86 Cleanup: Unused field in sculpt DeleteOperation 2022-05-23 15:03:41 +02:00
Jacques Lucke
2f2d13b8c6 Fix T97237: dragging custom node group asset adds broken node
Differential Revision: https://developer.blender.org/D15013
2022-05-23 14:43:20 +02:00
Brecht Van Lommel
eba6900b08 Fix T98305: Image.save not working for generated images with filepath
This is a place where the API function and operator should differ, for the API
manually setting the filepath and then saving should work. For the UI there is
no filepath visible, so it should open Save As even if there was a filepath set
for example from before changing an image type to Generated.
2022-05-23 12:30:11 +02:00
Bastien Montagne
a833c7f4a5 Fix T98283: Regression: crash when opening file that has Collision modifier on liboverride object
Some RNA property update callbacks can already generate such modifier,
and only one is allowed per object, so had to adapt code actually adding
new modifiers in liboverride apply codebase.
2022-05-23 12:13:33 +02:00
Jacques Lucke
f626fc27f9 Fix T98316: geometry nodes stop updating after duplication
This was a missing depsgraph update.
2022-05-23 12:13:33 +02:00
YimingWu
3fe1079ecf Fix T98258: Duplicated last vertex after GPencil sample.
Also fixed an unreported issue of incorrect interpolation of thickness.

Reviewed By: Aleš Jelovčan (frogstomp), Antonio Vazquez (antoniov)

Differential Revision: https://developer.blender.org/D15005
2022-05-23 12:13:33 +02:00
Jacques Lucke
2d67b375a1 Fix T98231: missing update when material output is in group
Differential Revision: https://developer.blender.org/D14998
2022-05-23 12:13:33 +02:00
Bastien Montagne
62a2b92b6b Fix T98283: Regression: crash when opening file that has Collision modifier on liboverride object
Some RNA property update callbacks can already generate such modifier,
and only one is allowed per object, so had to adapt code actually adding
new modifiers in liboverride apply codebase.
2022-05-23 12:11:09 +02:00
Jacques Lucke
a5409d2b59 Fix T98316: geometry nodes stop updating after duplication
This was a missing depsgraph update.
2022-05-23 11:29:55 +02:00
YimingWu
f4101ba4a1 LineArt: Fix adjacent edge sorting.
The sorting end element should be `start+len` not `start+len-1`.
2022-05-23 16:20:23 +08:00
YimingWu
c4e5a7d59a Fix T98258: Duplicated last vertex after GPencil sample.
Also fixed an unreported issue of incorrect interpolation of thickness.

Reviewed By: Aleš Jelovčan (frogstomp), Antonio Vazquez (antoniov)

Differential Revision: https://developer.blender.org/D15005
2022-05-23 16:17:00 +08:00
Hans Goudey
f4a01c8a8b Fix T98101: Handle single point curves in delete brush
The 3D brush utility and the delete brush only considered segments,
so they did not handle single points. Fix by adding special cases for
single point curves.

Differential Revision: https://developer.blender.org/D14944
2022-05-23 09:47:17 +02:00
Hans Goudey
8f3847aef3 Fix: Sample pressure properly for 3D curves sculpt brushes
For the "Sphere" 3D brushes, the depth and radius are only sampled at
the beginning of the stroke. This didn't work when tablet pressure is
used as a factor for the brush radius. Now the 3D brush depth is found
with the max radius (as if the pressure was 1.0), but the pressure
factor is used afterwards.

Restructuring the way the brush executors stored the radius made
the change a bit clearer, which is where most of the diff comes from.

Differential Revision: https://developer.blender.org/D15002
2022-05-23 09:44:12 +02:00
Jacques Lucke
b81f1b8cf1 Fix T98231: missing update when material output is in group
Differential Revision: https://developer.blender.org/D14998
2022-05-23 09:11:17 +02:00
Jeroen Bakker
f93b237194 Merge branch 'blender-v3.2-release' 2022-05-23 08:16:50 +02:00
Jeroen Bakker
4418536f69 Fix T98321: Image.update doesn't update the image editor.
Missing call to partial update.
2022-05-23 08:14:38 +02:00
Campbell Barton
ad33e68348 Cleanup: remove "texture" from ED_mesh_uv_texture_* funcitons
This name made sense when UV's and textures were stored in the same
layer (MTFace & TFace).
2022-05-23 12:43:28 +10:00
Aaron Carlisle
04ed96136b Merge branch 'blender-v3.2-release' 2022-05-22 21:58:45 -04:00
Aaron Carlisle
568b692bcf Compositor: Fix Map Range node To/From Max default value
Mistake from rB5ef5a9fc24668aa264fe0558db9c0fb1246aa37f

Fixes T98322
2022-05-22 21:56:32 -04:00
Antonio Vazquez
84e55e3dc2 Fix T98320: GPencil Crash with Length and Build Modifiers
The length modifiers creates a NULL strokes and this is not handled by Build modifier.
2022-05-22 21:10:08 +02:00
Hans Goudey
d095fcd6b4 Cleanup: Fix build error after previous commit
I'm not sure how that happened, sorry for the noise.
2022-05-22 20:26:25 +02:00