Commit Graph

94631 Commits

Author SHA1 Message Date
Damien Picard
a2a208d88d I18n: fix translation of status bar
- Use the proper context (Operator, since that is what the cursor
  keymap status uses)
- Add a few missing message extraction tags

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D15867
2022-09-05 15:19:04 +02:00
38508f5110 GPencil: New BKE function to set stroke start point
This function allows to set the start point for cyclic strokes.

The function is required by a new modifier and operator
that are currently under development.
2022-09-05 11:03:12 +02:00
91b1ca5b7b Fix T100820: Crash renaming modifier with visibility driver 2022-09-05 10:41:15 +02:00
472d8f8e92 Merge branch 'blender-v3.3-release' 2022-09-05 10:06:31 +02:00
Clément Foucault
3ae996c293 Fix T100649: Regression: Environment texture is stretched when added to mesh
The new code was not using the correct default attribute. Add access to
`g_data.P` through `node_tex_coord_position()` to replace the old
`GPU_builtin(GPU_VIEW_POSITION)` which was used before.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D15862
2022-09-05 09:21:02 +02:00
Clément Foucault
f0166bc168 Fix T100775: Regression: EEVEE world environment is stretched when using orthographic view
It was using normalized vector instead of `viewCameraVec` which account for
orthographic views.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D15861
2022-09-05 09:18:44 +02:00
b0d9b6f6df Fix T100788 Regression: EEVEE wrong normal map on backfaces
This was caused by rB07cf3ce92fa2. It was missing a sign flip.
2022-09-05 09:12:12 +02:00
0ff920b777 Cleanup: Clarify multi-socket input sorting
The multi-socket input sorting was used for two purposes: moving links
to the proper positions when dragging a new link, and resetting the
multi-input indices on the links when removing a link. They are now
separated into two functions, and the sorting when making a group
node that didn't accomplish anything is removed (in that case a
proper implementation would copy the indices from the original
exterior sockets).
2022-09-03 23:25:06 -05:00
b978c1bc65 Cleanup: Replace recursive quadratic node link mute operation
The previous implementation iterated over all links multiple times
recursively. Instead, use the node tree topology cache, only iterate
over all links once, and use a stack to propagate the mute upsteam
and downstream.
2022-09-03 17:57:53 -05:00
b60850d395 Cleanup: Deduplicate node link intersection test 2022-09-03 14:52:27 -05:00
56193eccf6 Cleanup: Refactor node add reroute operator
Use C++ Map that supports the duplication natively. Use vectors instead
of linked lists, and adjust naming. Also remove combination of reroutes
for input sockets, which doesn't make sense since a reroute isn't
allowed to combine multiple input links into one output.
2022-09-03 14:19:09 -05:00
4b818b1513 Merge branch 'blender-v3.3-release' 2022-09-03 11:43:15 +02:00
a631dc5575 Fix T100731: Keymap Editor context menu crash
Caused by {rB3f3d82cfe9ce}

Since above commit, a `uiRNACollectionSearch` may contain a NULL
`search_prop`, crashing the menu entry for "Jump To Target"
(`ui_jump_to_target_button_poll`).

Now safeguard against this with a NULL check (getting search callbacks
to work for "Jump To Target" can be investigated in master).

Maniphest Tasks: T100731

Differential Revision: https://developer.blender.org/D15832
2022-09-03 11:36:57 +02:00
a50ca6a1cd Fix T100687: Geometry Attribute Convert crashes in sculpt mode
Since above commit, `BKE_id_attributes_active_get` would also return
"internal" attributes like ".hide_poly" or ".hide_vert".
As a consequence, a couple of poll functions dont return false anymore
(attribute remove, attribute convert), allowing these operators to
execute, but acting on this "internal" layers is just asking for
trouble.

In the UI, we dont see these attributes, because `MESH_UL_attributes`
checks `is_internal`, same thing we do now in
`BKE_id_attributes_active_get`.

Maniphest Tasks: T100687

Differential Revision: https://developer.blender.org/D15833
2022-09-03 11:30:51 +02:00
0348bc88e4 Cleanup: Return early 2022-09-02 19:06:12 -05:00
2d72fc0586 Cleanup: use more standard variable name for node sockets 2022-09-02 17:48:46 -05:00
4a4044ad9b Cleanup: Use separate variables for node socket locations
This will help if the locations are moved out of DNA
and require slightly more complicated access.
2022-09-02 17:46:38 -05:00
df40440d22 Cleanup: Avoid using node socket location
The location of a reroute node and its sockets should be the same,
only stored in different coordinate spaces. Because the node's location
is the ground truth, use that for finding whether the mouse is hovering.
2022-09-02 17:46:38 -05:00
cd10fb4826 Cleanup: Use references and const in node editor 2022-09-02 17:46:38 -05:00
aa08545a01 Cleanup: Use new node topology cache for sorting multi input sockets
Assuming the cost of building the cache is ammortized, this
may be be helpful because it removes some quadratic behavior.
2022-09-02 17:45:29 -05:00
a736ca33ab Cleanup: Return early 2022-09-02 16:20:01 -05:00
0b4b3abc0b Merge branch 'blender-v3.3-release' 2022-09-02 15:49:33 -05:00
831ed297d0 Fix T100767: Geometry nodes viewer node placed incorrectly
See explanation in comment.

Differential Revision: https://developer.blender.org/D15864
2022-09-02 15:48:41 -05:00
b903b74944 Cleanup: Deduplicate node link points evaluation functions 2022-09-02 15:44:05 -05:00
40d815dff6 Cleanup: Further split of node link Bezier calculation function
Now dragged handles are handled separately, and the function returns a
statically sized array by value. The functions are also renamed to be
more consistent with curve naming elsewhere in Blender.
2022-09-02 15:44:05 -05:00
21e235afc3 Fix: Ensure topology cache exists when drawing nodes
This was missed in 58c650a44c.
2022-09-02 15:44:05 -05:00
8d1e5334ec Cleanup: Split node link draw culling to separate function
This was only really used in one place, so better to just do it there
rather than requiring another argument for the handle calculation.
2022-09-02 15:44:05 -05:00
ab6702a40f Cleanup: Return early 2022-09-02 15:44:05 -05:00
4068880ffc Cleanup: Remove unnecessary struct keyword usage in node editor 2022-09-02 15:44:05 -05:00
0fb699b212 Cleanup: Remove unused struct
Unused after 217d0a1524
2022-09-02 15:44:05 -05:00
a1e01f4c02 UI: 3D Text Caret
Changes to the text caret (cursor) when editing Text objects in the
3D Viewport.

See D15797 for more details and examples.

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

Reviewed by Brecht Van Lommel
2022-09-02 13:18:09 -07:00
65a215b819 Cleanup: DRW: Fix warning in release mode 2022-09-02 21:16:42 +02:00
86e7aaead2 Cleanup: Use C++ vector types in node editor 2022-09-02 14:09:41 -05:00
58c650a44c Nodes: Use existing nodes span cache
Use cache from 25e307d725 rather
than creating a new vector on every redraw.
2022-09-02 14:09:41 -05:00
RaphaelBelmont
6f53af3a81 EEVEE: Fix Symbol error in SH_L2 Caculation
The caculation of 7th SH coefficient need a negative sign

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D15635
2022-09-02 20:59:09 +02:00
2b7de49a2b EEVEE-Next: Port to new Draw Manager 2022-09-02 20:56:55 +02:00
99afbc40e7 Cleanup: Fix clang-tidy warnings: [bugprone-suspicious-memory-comparison] 2022-09-02 20:34:37 +02:00
06043c8313 Cleanup: Fix clang-tidy warnings: [modernize-redundant-void-arg] 2022-09-02 20:34:37 +02:00
73434f02c3 Cleanup: Fix clang-tidy warnings: [modernize-use-nullptr] 2022-09-02 20:34:37 +02:00
4e84fba547 Cleanup: Fix clang-tidy warnings: [modernize-use-using] 2022-09-02 20:34:37 +02:00
9c469321c5 Cleanup: Fix clang-tidy warnings: [readability-else-after-return] 2022-09-02 20:34:37 +02:00
ccf62df8b6 Cleanup: Fix clang-tidy warnings: [readability-inconsistent-declaration-parameter-name] 2022-09-02 20:34:37 +02:00
aa781f98bb Cleanup: Fix clang-tidy warnings: [bugprone-incorrect-roundings] 2022-09-02 20:34:37 +02:00
9ba04c4598 Cleanup: Fix clang-tidy warnings: [modernize-use-bool-literals] 2022-09-02 20:34:37 +02:00
361a2de6f1 Cleanup: Fix clang-tidy warnings: [modernize-deprecated-headers] 2022-09-02 20:34:37 +02:00
e0bdd171f3 Merge branch 'blender-v3.3-release' 2022-09-02 13:10:45 -05:00
d3242b772b obj: improve placement of shader nodes in imported materials
Previously for most materials (especially the ones without any
textures), the nodes were "off screen" way to the right, requiring
a view framing to even see them.

Also, as soon as multiple images were used, many nodes overlapped
one another and the connections were all a mess.

Simplify all that, and now each node type (coordinate, mapping, image,
normal map, bsdf etc.) is in it's own column, with BSDF at zero
coordinate. Each used image (along with any possible coordinate,
mapping, normal map) is it's own row. The resulting connections
are much cleaner.
2022-09-02 21:03:44 +03:00
1a641b449a BLF: Replacement of Hebrew Font
Replacement of our Hebrew font, which has bad variable weight default.

See D15846 for more details.

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

Reviewed by Brecht Van Lommel
2022-09-02 10:54:03 -07:00
e48a6fcc63 DRW-Next: Add uniform attributes (object attributes) support
This replaces the direct shader uniform layout declaration by a linear
search through a global buffer.

Each instance has an attribute offset inside the global buffer and an
attribute count.

This removes any padding and tighly pack all uniform attributes inside
a single buffer.

This would also remove the limit of 8 attribute but it is kept because of
compatibility with the old system that is still used by the old draw
manager.
2022-09-02 19:37:15 +02:00
356460f5cf Cleanup: EEVEE-Next: Use reference as suggested by MSVC 2022-09-02 19:05:48 +02:00