Commit Graph

93812 Commits

Author SHA1 Message Date
Brecht Van Lommel
6161b8dc63 Fix T100130: animation player crash on exit
GPU_exit is now expected to run within an active GPU context.

Also run BLF_exit and IMB_exit first they can use GPU resources and gave
ASAN errors. And remove redundant GPU_shader_free_builtin_shaders already
handled by GPU_exit.
2022-08-11 19:23:15 +02:00
Aras Pranckevicius
0a096f2be2 Fix T98781: OBJ exporter wrongly writing default material socket values when textures are present
Report T98781 and part of T97642: the MTLMaterial info only captures
image nodes and the default socket values. When the image information
is present, do not emit the socket defaults - the .MTL spec states
they are multiplied together, but the default value is not used
in blender when the socket is connected.

Also contains svn tests repository update to extend the test coverage,
and update test expectation outputs.
2022-08-11 15:51:36 +03:00
Campbell Barton
ed55054e57 Fix T100204: RMB select (with "Select Tool") causes edit-mesh conflict
When RMB select activated the selection tool, Alt-RMB would both
tweak and loop-select.

Fix/workaround this by passing though 'enumerate' unless the option
can be used (when selecting objects or armatures).
2022-08-11 11:06:54 +10:00
Aras Pranckevicius
8c59b93505 obj: Also find .mtl images by their basename, if all else fails (T77801)
While T77801 itself is working as expected in the new C++ obj
importer, the repro file there uses absolute paths to material images,
yet the images themselves are right there in the current folder.

The old python based importer did find them, since it was doing a
really complex image search. My understanding is that while C++
importer was developed, it was decided to not do that -- however
just the "basename file in the mtl directory" sounds simple enough
and gets the repro case file work correctly.
2022-08-10 18:03:39 +03:00
Brecht Van Lommel
f9589fab60 Render: remove camera shift hard limits
There is no need for these to be limited to -10..10, soft limits are enough.

Contributed by fundorin.

Differential Revision: https://developer.blender.org/D15650
2022-08-10 13:02:32 +02:00
Aras Pranckevicius
d76583cb4a Fix T100302: New OBJ importer produces too many vertices when faces don't span a continuous range
As part of the previous fix (D15410), the importer got code to track
min & max vertex indices used as part of the mesh faces. However, if
faces refer to a "sparse" (i.e. non-contiguous) subset of all vertices,
then the imported mesh would contain all the vertices between min & max
range.

Replace that with proper tracking of actually used vertex indices
for each imported mesh. Fixes T100302.

This does affect import performance a tiny bit, e.g. importing Blender
3.0 splash scene goes 21.7s -> 22.1s, and importing rungholt.obj
goes 2.37s -> 2.48s.

Importer related tests have a bunch of vertex changes in them, since
now vertices are added in the order that the faces are referring
to them. Which incidentally matches the order that the Python based
importer was creating them too.
2022-08-10 13:34:58 +03:00
Hans Goudey
bdb85bdd98 Fix T100308: Removing scene time node does not update relations
Similar to the fix in 734c6a4405.
2022-08-09 19:09:43 -05:00
Hans Goudey
31e06a8c73 Fix T99661: Use after free converting edit mode curve object to mesh
The fix from c0fdf16561 was missing in one place. We don't
want to free the edit mode pointers, those are just copied because the
edit mode changes aren't present in the actual original data-block.
2022-08-09 18:24:44 -05:00
Sergey Sharybin
9644740230 Fix T99949: Crash when last input from File Output node is deleted
Regression since e4278b72bb.

Need to check inputs exist prior to requesting first input as it
might not exist.
2022-08-09 16:44:36 +02:00
Campbell Barton
7b0bc1573b Fix memory leak exporting to collada 2022-08-09 21:04:25 +10:00
Damien Picard
e1974ae30e I18n: make more parts of the UI translatable
- "Name collisions" label in mesh properties
- "Threshold" labels in Vertex Weight Edit modifier
- "Particle System" label in Particle Instance modifier
- Slot number in the Shader Editor

- Status bar keymap items during modal operations:
  add TIP_() macro to status bar interface template

- On dumping messages, sort preset files so their messages are stable
  between runs

Ref. T43295

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D15607
2022-08-09 12:42:33 +02:00
Bastien Montagne
2682a59efe WM Modal Keymaps: Add accessors to modal event values.
It is currently impossible to access modal keymaps' event values (from
`propvalue` enum) from python code (for API introspection).

This is needed for i18n messages extraction (see D15607).

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D15643
2022-08-09 12:22:13 +02:00
Campbell Barton
90b2ed6c4b Fix T100277: Grease pencil lines don't start at click-start
Regression in b8960267dd.
2022-08-09 13:52:27 +10:00
Campbell Barton
228f7cb5ce Fix viewport operators with a view locked camera
Smooth-view wasn't working properly with a locked-camera this could
animate from the wrong position if the camera wasn't in sync with the
underlying viewport transformation.

Resolve issues for:

- VIEW3D_OT_view_orbit
- VIEW3D_OT_view_roll
- VIEW3D_OT_zoom_border
2022-08-09 09:31:20 +10:00
Campbell Barton
8ed2abf856 Fix missing undo steps for smooth-view operators
Support pushing undo steps for smooth-view operations that manipulate
the camera. Now V3D_SmoothParams take optional undo arguments.

Used for:

- VIEW3D_OT_view_center_cursor
- VIEW3D_OT_view_center_pick
- VIEW3D_OT_view_orbit
- VIEW3D_OT_view_roll
- VIEW3D_OT_zoom_border

Follow up fix for T92099.
2022-08-09 09:31:18 +10:00
Germano Cavalcante
b3fc8206be Revert "Fix T100280: GG not toggling the offset transform mode in tracker"
This reverts commits b72eddac61 and
f8b5706a1f.

And fixes T100265.

It brings more problems than solutions.
2022-08-08 12:37:25 -03:00
Germano Cavalcante
b72eddac61 Fix T100280: GG not toggling the offset transform mode in tracker
Caused by {rB791bfae1d64b}.

The solution was to create the special handle for the Move Clip and Mask
transformation.

One change that cannot be reversed is showing the `G` shortcut in the
statusbar.

But the description of this shortcut was not even correct before.
2022-08-08 10:59:29 -03:00
Brecht Van Lommel
4b3315fc98 Fix T100281: image save after copy not using correct filepath
Always use the image datablock filepath for saving. The only apparent reason
use the image buffer file path is image sequences, for which the current frame
filepath is now computed.
2022-08-08 13:51:19 +02:00
Hans Goudey
344c53561a Fix: Incorrect field node deduplication for shortest path nodes
Mistake in c8ae1fce60.
2022-08-07 14:38:17 -05:00
Hans Goudey
800c7dbf41 Fix: Missing translation in deform curves on surface node
Also add an error message for when the node is used on non-curves
objects, since there's nothing in the UI to show why it doesn't work
except for that. And also use quotes when referring to attribute names.
2022-08-06 17:01:01 -05:00
Howard Trickey
d58476049e Fix T98025: Revert "Fix Bevel intersection continuity."
This reverts commit 94866ef84f
A number of reports of bevel regressions came after the
commit to fix bevel intersection continuity.
Since the fix for some of those regressions is not obvious
we will revert the continuity improvement and do it as
part of the Bevel V2 project.
2022-08-06 12:40:11 -04:00
YimingWu
8dadc091d0 LineArt: Usability improvement for "Enclosed Shapes".
This patch removes the [rather confusing] separate checkbox for enclosed
shapes in favour of integrating that option into illumination filtering,
with the benefit of not limiting the selection to cached result.

Reviewed By: Sebastian Parborg (zeddb)

Differential Revision: https://developer.blender.org/D15327
2022-08-06 12:20:15 +08:00
Pratik Borhade
befe38fe1d Fix T92099: No undo when moving viewport with camera locked to view
Supports undo step generation while navigating in locked camera view.
NDOF & track-pad navigation are not included for now.

Actions that uses smooth view can be supported but are outside
the scope of this change, includes undo push for:

- VIEW3D_OT_view_pan
- VIEW3D_OT_dolly
- VIEW3D_OT_fly
- VIEW3D_OT_move
- VIEW3D_OT_rotate
- VIEW3D_OT_walk
- VIEW3D_OT_zoom

Reviewed by: campbellbarton

Ref D15345
2022-08-06 12:57:06 +10:00
Hans Goudey
74f983738a Fix T100143: RNA path information of Curves datablock incorrect 2022-08-05 12:53:27 -05:00
Chris Clyne
e437997174 Fix: compositor stats in background mode subject to race conditions
Evaluating a compositor node tree in background mode causes the stats callback
to be called from multiple threads, leading to garbled output. This was causing
major problems with render-farm scripts.

Differential Revision: https://developer.blender.org/D15633
2022-08-05 16:45:50 +02:00
Amélie Fondevilla
45f483681f Fix T100093: Channel selection and grouping issues
Channel selection in graph editor was broken by rB3c5620aabd33 because
the selection took into account grease pencil channels. Such channels
are now removed from selection in containers that does not use them (NLA
and Graph Editor).

Grouping was broken from a similar issue. The grouping operation now
completely filters out grease pencil channels since the operator is only
defined for f-curve channels.

Reviewed By: sybren

Maniphest Tasks: T100093

Differential Revision: https://developer.blender.org/D15601
2022-08-05 12:06:03 +02:00
Bastien Montagne
f8d13a1b58 Cleanup: Use c++ casting in liboverride BKE code.
No functional change expected here!
2022-08-05 11:03:57 +02:00
Jesse Yurkovich
bd467100dd Fix T100142: Compare correct render_slot variable during clear operation
In {rB0ef8a6179d2a773b2570352bd0cb7eb18b666da2} the parameter name was
changed to match the header declaration (slot) but it missed updating
the variable name inside the function correctly in one instance.

This prevents slot 0 from being cleared if the last slot to be rendered
was not also 0.

Differential Revision: https://developer.blender.org/D15620
2022-08-04 19:41:03 -07:00
Hans Goudey
bae2ce0695 Nodes: Disable link drag search for deprecated nodes 2022-08-04 13:43:26 -05:00
Brecht Van Lommel
9ea9fc1f34 Fix T100099: Cycles crash baking vertex colors in edit mode
This was not supported, added now.
2022-08-04 20:14:50 +02:00
Julian Eisel
11b4d0a3c3 Attempt to fix build errors on MSVC
Same as 03cd794119, but using a different cast (see 9b9417b661).
2022-08-04 18:54:32 +02:00
Hans Goudey
d730940fdb Fix: Store named attribute node incorrect link drag search 2022-08-04 10:47:31 -05:00
Damien Picard
aa53eca6b5 I18n: make several parts of the UI translatable
- batch rename
- keyframe settings
- tool name in Tool properties header
- tool name in Tool properties Drag (fake) enum

- new file templates
- new preset
- new text datablock
- new collection datablock
- new geometry nodes (modifier and node group)
- new grease pencil data (layers and materials)

Ref. T43295

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D15533
2022-08-04 17:05:34 +02:00
Hans Goudey
0844781961 Fix: Crash on instance on points node with empty mesh 2022-08-04 09:15:26 -05:00
Julian Eisel
d2a30abff0 Outliner: Use UI names and grouping for library overrides properties
NOTE: This is committed to the 3.3 branch as decided by Bastien, Dalai
and me. That is because these are important usability fixes/improvements
to have for the LTS release.

Part of T95802.

Showing properties with an RNA path in the UI isn't very user friendly.
Instead, represent the RNA path as a tree, merging together parts of the
RNA path that are shared by multiple properties. Properties and "groups"
(RNA structs/pointers) are now shown with their UI name and an icon if
any. The actually overridden properties still show the Library Overrides
icon. See the patch for screenshots.

Also: When a RNA collection item, like a modifier or constraint was
added via a library override, indicate that item and show all collection
items in the list, since the complete list of items and their orders may
be important context.

Differential Revision: https://developer.blender.org/D15606
2022-08-04 16:14:01 +02:00
Julian Eisel
585dd63c6e Cleanup: Move RNA path functions into own C++ file
NOTE: This is committed to the 3.3 branch as part of D15606, which we
decided should go to this release still (by Bastien, Dalai and me). That
is because these are important usability fixes/improvements to have for
the LTS release.

Adds `rna_path.cc` and `RNA_path.h`.

`rna_access.c` is a quite big file, which makes it rather hard and
inconvenient to navigate. RNA path functions form a nicely coherent unit
that can stand well on it's own, so it makes sense to split them off to
mitigate the problem. Moreover, I was looking into refactoring the quite
convoluted/overloaded `rna_path_parse()`, and found that some C++
features may help greatly with that. So having that code compile in C++
would be helpful to attempt that.

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

Reviewed by: Brecht Van Lommel, Campbell Barton, Bastien Montagne
2022-08-04 16:13:00 +02:00
Julian Eisel
27d31c15e8 UI: Pass modifier & constraint icon to the corresponding RNA base type
NOTE: This is committed to the 3.3 branch as part of D15606, which we
decided should go to this release still (by Bastien, Dalai and me). That
is because these are important usability fixes/improvements to have for
the LTS release.

This basically lets the UI use the constraint or modifier icon, whenever
refering to constraints/modifiers via RNA pointers. Used by D15606, so
that the "Modifiers" tree element to group the individual modifiers
together gets the right icon without hardcoded handling.
2022-08-04 16:11:14 +02:00
Julian Eisel
bd909ff990 Outliner: Add generic label element type
No user visible changes expected.

NOTE: This is committed to the 3.3 branch as part of D15606, which we
decided should go to this release still (by Bastien, Dalai and me). That
is because these are important usability fixes/improvements to have for
the LTS release.

We have a bunch of "base" element types, just to show a label element
for grouping together other elements. There is no reason to have these
tied to a case, just have a generic label type for this. It requires a
string to display, and can display an icon too. The new element type
isn't used yet, but will be in one of the following commits. Would be
nice if the existing base elements can be replaced by this.

Part of D15606.
2022-08-04 16:09:02 +02:00
Germano Cavalcante
f8b5706a1f Fix T100129: Status bar incorrectly shows "[G] Move" after pressing G once in Edit Mode
Add specific modal keyitem for Vert/Edge Slide or TrackBall.

Note that there is a workround to avoid repeated keys in the status bar.

Reviewed By: campbellbarton

Maniphest Tasks: T100129

Differential Revision: https://developer.blender.org/D15597
2022-08-04 10:56:47 -03:00
Antonio Vazquez
1ffb011d67 Fix T100171: GPencil toggle caps operator does not support multiframe
This was a missing feature.
2022-08-04 15:03:10 +02:00
Ethan-Hall
177bc80748 Fix: add attribute with empty string name crash
Due to a recent change, empty strings are unhandled. This results
in Blender crashing.

This patch fixes the crash but a discrepancy still exists...
Prior to the regression, the empty string would be replaced by the
name of the data type. This patch uses "Attribute" for the default
name regardless of type. Restoring the previous behavior would
require making and/or modifying API methods.

Regression introduced in: rBeae36be372a6

Reviewed By: Joseph Eagar & Campbell Barton
Differential Revision: https://developer.blender.org/D14734
Ref D14734
2022-08-03 15:16:46 -07:00
Joseph Eagar
b65ab29310 Sculpt: Fix T99294: Voxel Remesher text is resized based on object scale 2022-08-03 15:05:56 -07:00
Hans Goudey
1cc11e32e4 Fix: Avoid OBJ importer assert seting normals on mesh with no faces 2022-08-03 16:59:03 -05:00
Ramil Roosileht
6f62a388df Sculpt: Support gradient color mode in sculpt paint brush
T99614

Support for gradient mode in sculpt paint brush

{F13316165}

Reviewed By: Joseph Eagar & Julian Kaspar
Differential Revision: https://developer.blender.org/D15502
Ref D15502
2022-08-03 14:08:23 -07:00
Liu Deyuan
411b4ed6ed Fix T96247: Principled BSDF roughness different in startup blend and new node
Change startup roughness to 0.5.

Differential Revision: https://developer.blender.org/D15586
2022-08-03 19:24:25 +02:00
Brecht Van Lommel
f6ca44efd6 Fix T100106: image movie/sequence auto refresh affects still image performance 2022-08-03 19:24:09 +02:00
Aras Pranckevicius
10c4734978 Fix T100173: fix missing removal of old name in BLO_update_defaults_startup_blend
If a screen had to be renamed, the old name was not removed from
the name map. Fixes T100173.
2022-08-03 19:09:21 +03:00
Hans Goudey
06b6c004f5 Fix T100168: Sculpt positions undo not working after recent commit
efe0e2b183 used the "normals_update" for applying positions from
an undo step, which doesn't set the necessary flags for a redraw.
2022-08-03 09:18:13 -05:00
Bastien Montagne
25517f36bc Cleanup: Improve doc of the BKE_id_copy functions. 2022-08-03 10:49:20 +02:00
Aras Pranckevicius
89f0fedb5c Fix T97769: new OBJ exporter does not replace spaces in object names
The Python based exporter was replacing spaces with underscores
in object/group names, mostly to handle cases where names could begin
or end with spaces. The new exporter was not doing that. Note: spaces
in material names were already handled by the new exporter.

Fixes T97769. Updated test coverage expectations; one of the test
files has an object with a space in the name.
2022-08-03 09:49:56 +03:00