Commit Graph

98119 Commits

Author SHA1 Message Date
Campbell Barton
b3625e6bfd Cleanup: comment blocks 2023-03-09 10:39:49 +11:00
Harley Acheson
56d2298271 Fix #105435: Pause Win32 Auto-Focus During Text Entry
Don't allow the hover of mouse to auto-raise another window while you
are entering data into a text or number input.

Pull Request: https://projects.blender.org/blender/blender/pulls/105446
2023-03-08 22:20:34 +01:00
Hans Goudey
60f35207d4 Fix: Hide ".uv_seam" attribute in UI
The attribute, like the other attributes that start with `.` is not
supposed to be displayed in the spreadsheet or the attribute list
by default. This was missing from the commit that added the attribute.
2023-03-08 11:41:36 -05:00
Hans Goudey
27b9ce6ab6 Mesh: Avoid writing unnecessary attributes
When writing in the legacy mesh format, some attributes don't need to
be written since they're written as flags or legacy struct types.
2023-03-08 11:41:36 -05:00
Lukas Tönne
1354e3108b const_cast no longer needed for ntreeIsRegistered. 2023-03-08 17:38:15 +01:00
Lukas Tönne
7d7190de74 Merge branch 'blender-v3.5-release' 2023-03-08 17:36:59 +01:00
Lukas Tönne
1b398dbad0 Fix build error: ntreeIsRegistered requires non-const pointer. 2023-03-08 17:35:22 +01:00
Hans Goudey
5876573e14 Mesh: Move face shade smooth flag to a generic attribute
Currently the shade smooth status for mesh faces is stored as part of
`MPoly::flag`. As described in #95967, this moves that information
to a separate boolean attribute. It also flips its status, so the
attribute is now called `sharp_face`, which mirrors the existing
`sharp_edge` attribute. The attribute doesn't need to be allocated
when all faces are smooth. Forward compatibility is kept until
4.0 like the other mesh refactors.

This will reduce memory bandwidth requirements for some operations,
since the array of booleans uses 12 times less memory than `MPoly`.
It also allows faces to be stored more efficiently in the future, since
the flag is now unused. It's also possible to use generic functions to
process the values. For example, finding whether there is a sharp face
is just `sharp_faces.contains(true)`.

The `shade_smooth` attribute is no longer accessible with geometry nodes.
Since there were dedicated accessor nodes for that data, that shouldn't
be a problem. That's difficult to version automatically since the named
attribute nodes could be used in arbitrary combinations.

**Implementation notes:**
- The attribute and array variables in the code use the `sharp_faces`
  term, to be consistent with the user-facing "sharp faces" wording,
  and to avoid requiring many renames when #101689 is implemented.
- Cycles now accesses smooth face status with the generic attribute,
  to avoid overhead.
- Changing the zero-value from "smooth" to "flat" takes some care to
  make sure defaults are the same.
  - Versioning for the edge mode extrude node is particularly complex.
    New nodes are added by versioning to propagate the attribute in its
    old inverted state.
- A lot of access is still done through the `CustomData` API rather
  than the attribute API because of a few functions. That can be
  cleaned up easily in the future.
- In the future we would benefit from a way to store attributes as a
  single value for when all faces are sharp.

Pull Request: https://projects.blender.org/blender/blender/pulls/104422
2023-03-08 15:36:18 +01:00
Lukas Tönne
10eab0a12c Fix: crash executing geometry nodes on undefined node tree type
Node tree updates can crash if the tree contains a node group that points at an "undefined" tree type.
This can happen if the tree is linked from a library and the path is lost,
or if a custom (python) tree is used and the script is not run.

The fix is to check if the node group type is valid ("registered") and return an empty list otherwise.

Pull Request: https://projects.blender.org/blender/blender/pulls/105564
2023-03-08 15:31:50 +01:00
Germano Cavalcante
2f04f8882f Merge branch 'blender-v3.5-release' into main 2023-03-08 11:17:12 -03:00
Germano Cavalcante
bbc6bb3468 Fix #105556: weld modifier crashes when merging N-gons
The logic for counting possible new polygons was incorrect.
2023-03-08 11:16:25 -03:00
Weizhen Huang
b9649c2e72 Eevee: fall back to Diffuse BSDF before proper implementation of Hair BSDFs
Co-authored by @fclem
2023-03-08 15:05:58 +01:00
Patrick Busch
2282272787 Overlay: Adjustment of the max value of "Edge Width" from 5 to 32.
The first implementation based the max value on what seemed reasonable.
It was therefore limited it to 5.
I received a request from a user in the first already merged #104741
to allow a higher max value.

Thus I adjusted the max value to be the same as the max value used for
"Vertex Size", 32.

Pull Request: https://projects.blender.org/blender/blender/pulls/105544
2023-03-08 15:01:46 +01:00
Hans Goudey
6398c9cd7f Cleanup: Remove unused GPU subdivision function declaration 2023-03-08 08:05:36 -05:00
Miguel Pozo
25016b56ef EEVEE Next: Tag shadowmap usage for transparent object volumes
Render the transparent object bounds to a low-res frame-buffer and ray-march the
bounds volume, tagging shadow tiles along the way.

The bounds volume is inflated by half a pixel as a conservative rasterization
alternative, to ensure the tiles needed by all LOD0 pixels get tagged.

The bounds are rendered with front face culling and then the fragment shader
ray-marches against the bounds volume.
Each ray-marching step size equals the world space size of the pixel at the step
depth.
The step bounding sphere radius is also sent to the shadow usage tagging library
to ensure the whole step volume is tagged.

Pull Request: https://projects.blender.org/blender/blender/pulls/104580
2023-03-08 13:51:24 +01:00
Falk David
53bb713eda Refactor: Rename OB_GPENCIL and ID_GD
This renames the `OB_GPENCIL` object type and the `ID_GD` to `OB_GPENCIL_LEGACY` and `ID_GD_LEGACY` respectively.
There is no change for the user.

Pull Request: https://projects.blender.org/blender/blender/pulls/105541
2023-03-08 12:35:58 +01:00
Clément Foucault
a736f1d638 BLI: Math: Support more vector swizzling and add alignment static assert
Sergey said it was faaaaaaaaaaaaiin.
2023-03-08 11:21:12 +01:00
Jeroen Bakker
63a05f1e18 Vulkan: Fix Shader Compilation Issues.
Fixes recent introduced shader compilation issues.
- `sampler` is a reserved keyword in Vulkan GLSL.
2023-03-08 11:10:05 +01:00
Chris Blackbourn
b1185da403 Fix #102843: Add UV Packer with O(nlogn) performance
Adds a novel "Alpaca" UV packing strategy for fast packing
of UV island AABBs without rotation.

Pull Request: https://projects.blender.org/blender/blender/pulls/105393
2023-03-08 20:39:27 +13:00
Campbell Barton
4fb2c9a407 Cleanup: use system native slashes in PLY, OBJ tests, studiolights
Use native paths to avoid issues comparing paths, see: #103385.
2023-03-08 15:50:02 +11:00
Campbell Barton
4787384d9d Cleanup: use BKE_area_find_region_type utility function 2023-03-08 15:50:01 +11:00
Campbell Barton
3a1d5e6032 Cleanup: surround expressions in defines by parenthesis 2023-03-08 15:49:59 +11:00
Campbell Barton
7896ebec12 Cleanup: make undeclared function static 2023-03-08 15:49:57 +11:00
Chris Blackbourn
5c5650f0f8 Cleanup: UV: Rearrange functions in cpp files to improve type safety
No functional changes.
2023-03-08 05:43:15 +01:00
Joseph Eagar
b228e5b118 Cleanup: run clang-format on a few files 2023-03-07 16:54:18 -08:00
Germano Cavalcante
7fcb262dfd Cleanup: resolve some unreferenced parameter warnings in MSVC
When the warning level is set to 4, some unreferenced parameter
warnings can appear

This commit resolves some of those warnings.
2023-03-07 21:39:44 -03:00
Tarek Yasser
da65b21e2e Sculpt: Add Transform, Trim, and Mesh Filter operators to Sculpt menu
Hello, this is a small PR to check that my understanding of #102427 is correct before moving on to the rest of the issue.
This PR contains the updated UI of the `Sculpt` menu only. Other menus will be submitted for review later.

Currently exposed operators:
* Move
* Rotate
* Scale
* Box Trim (Trim Mode ="Difference")
* Lasso Trim (Trim Mode ="Difference")
* Box Add (Trim Mode ="Join")
* Lasso Add (Trim Mode ="Join")
* Line Project
* Smooth
* Surface Smooth
* ~~Scale (Could be left out?)~~
* Inflate
* Random
* Relax Topology
* Relax Face Set Boundaries
* Sharpen
* Enhance Details
* Erase Displacement

The original issue specifies `Relax Face Set Boundaries` and `Erase Displacement`. I'm not quite sure if this is done in the UI code or somewhere else.

Reviewed By: Joseph Eagar & Julian Kaspar
Pull Request: https://projects.blender.org/blender/blender/pulls/104718
2023-03-08 01:18:21 +01:00
Chris Blackbourn
d46a0f5a1a Cleanup: UV: simplify #uv_parametrizer_construct_end
No functional changes.
2023-03-08 10:29:07 +13:00
Chris Blackbourn
d41a1e1806 Cleanup: UV: simplify types
No functional changes.
2023-03-08 10:16:07 +13:00
Hans Goudey
8faeccf6e5 Fix #105496: Incorrect solidify modifier materials after recent cleanup 2023-03-07 16:11:01 -05:00
Richard Antalik
a97cae3efc Fix: VSE retiming off by 1 error 2023-03-07 22:10:00 +01:00
Richard Antalik
cf39e077b3 Cleanup: Remove useless function
`seq_time_strip_original_content_length_get()` was created initially for
purposes of retiming, but it just returns `seq->len`.
2023-03-07 22:10:00 +01:00
Chris Blackbourn
894dcfbb41 Cleanup: format 2023-03-08 09:50:03 +13:00
Hans Goudey
655623ce08 Merge branch 'blender-v3.5-release' 2023-03-07 15:41:15 -05:00
Hans Goudey
281f383c23 Fix #105430: Curves pick select selects multiple objects
Pick select is only meant to change a single element from a single
data-block. However, the operator worked on each object individually
rather than first finding the closest point, then processing the
selection. Change the operator to find the closest point across all
objects, then deselect if necessary, then select the closest point.

Pull Request: https://projects.blender.org/blender/blender/pulls/105495
2023-03-07 21:39:46 +01:00
Hans Goudey
314db1bcab Merge branch 'blender-v3.5-release' 2023-03-07 15:24:29 -05:00
Hans Goudey
ea80e14464 Fix: Logic error in check for curves selection
The code always assumed the selection array was on the curve domain.
Introduced in 33cbd063d3.
2023-03-07 15:24:20 -05:00
Hans Goudey
58401a85cd Merge branch 'blender-v3.5-release' 2023-03-07 15:07:01 -05:00
Hans Goudey
fefb35988c Fix #105518: Crash in edit mode with cage editing
The attributes used for rendering were retrieved from the wrong mesh,
since `mr->me` and `me` weren't the same.
2023-03-07 15:03:50 -05:00
Richard Antalik
66eedc542b VSE: Use flag for strips with single frame of content.
Previously `SEQ_transform_single_image_check` function was used to check
if image or effect strip has only one frame of content. Now these strips
are flagged with `SEQ_SINGLE_FRAME_CONTENT`.

While previously this was implicit property of strip, benefit of having
explicit flag is that this property can be decoupled from strip length.
2023-03-07 20:34:24 +01:00
Hans Goudey
5ab49afe8d Cleanup: Fix warning in skin modifier
Pull Request: https://projects.blender.org/blender/blender/pulls/105542
2023-03-07 19:33:49 +01:00
Sergey Sharybin
78e8c6649d Fix unreliable PLY regression test
At a random the bf_io_ply_tests would fail in one of the fixtures.

The root of the issue was that the exporter parameters were used
uninitialized, causing the mesh to be triangulated in some of the
runs and not be triangulated in other runs.

This change makes it so PLYExportParams is always zero-initialized,
so that this solves this issue, and that adding fields to it in the
future will not re-introduce the issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/105537
2023-03-07 18:59:02 +01:00
Bastien Montagne
d11874bf21 Merge branch 'blender-v3.5-release' 2023-03-07 18:29:30 +01:00
Bastien Montagne
ec1a76d9cd Fix (unreported) potential invalid usage of Main relations cache.
`library_foreach_ID_link` should only use Main ID relations cache if no
'special' relations flag is set.
2023-03-07 18:25:50 +01:00
Harley Acheson
d0918c5c7f Assets: Add License and Copyright meta-data
As per #105300, this adds optional "license" and "copyright" meta-data
to assets.

Pull Request: https://projects.blender.org/blender/blender/pulls/105318
2023-03-07 18:22:43 +01:00
Omar Emara
cbf569523c Realtime Compositor: Implement bicubic interpolation
This patch implements the bicubic interpolation option in the transform
nodes. The path merely reuse the code in the shader image texture and
adds bicubic variants to the domain realization shader.

Pull Request: https://projects.blender.org/blender/blender/pulls/105533
2023-03-07 18:02:20 +01:00
Sebastian Parborg
023524765a Merge branch 'blender-v3.5-release' 2023-03-07 17:35:05 +01:00
Weizhen Huang
5ff959a056 Fix BLI_assert 'attr->comp_len == 2' failed in cage 2d gizmo 2023-03-07 17:07:49 +01:00
Weizhen Huang
48944e7a8e Gizmo: slightly increase cage2d corner margins 2023-03-07 16:29:09 +01:00
Weizhen Huang
275d69467b Gizmo: show hovering regions of cage2d gizmo to indicate constraint axis 2023-03-07 16:29:09 +01:00