Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-01Nodes: separate node name and display name in bNodeTreePathJacques Lucke
Previously, `node_name` was rarely actually a name of a node. It is set correctly as node name in `ED_node_tree_push`. However, later on it was overwritten by the name of an id data block in `node_draw_space`. Now, the node_name stays the name of the "parent" node. Whereas display_name is the name that will be displayed in the breadcrumbs. With this change, the `node_name` can be used to reconstruct the actual path from the root node tree to the currently visible tree. Differential Revision: https://developer.blender.org/D10874
2021-04-01Fix T50103: Transform not working if scale is zeroCampbell Barton
If any axis of the scale of an object was zero, transforming failed. This was because `td->smtx` was set to a zero matrix. orthogonalize_m3_zero_axes is used to fill in the zeroed axes. Thanks to @filedescriptor for the initial fix: D10869.
2021-04-01Fix T87037: Add tooltip for "Paste Flipped"Falk David
The "Paste Flipped" operator was missing its own tooltip. This patch adds the tooltip by implementing the `get_description` callback for `GRAPH_OT_paste` and `ACTION_OT_paste`. Reviewed By: sybren Maniphest Tasks: T87037 Differential Revision: https://developer.blender.org/D10859
2021-04-01Fix T86331: Preferences menu inaccessible until window resizeHarley Acheson
The RGN_TYPE_EXECUTE region was zero height - with the "Load & Save" button drawing outside of those bounds - so it didn't respond to events. This is because the region started off this size and does not change with simply adding the buttons. Although it has RGN_FLAG_DYNAMIC_SIZE, delayed reinit of regions is only currently supported on headers. This gives the execute region an initial (minimum) vertical size but also makes the region **hidden** by default. - Showing Prefs as an editor among others it will show the header but not the execute region. - Showing the Prefs in a popup window, hides the header region and shows the execute region. Ref D10636
2021-04-01Cleanup: clang formatCampbell Barton
2021-03-31Cleanup: naming for edit-mesh nearest distance valuesCampbell Barton
- Don't use `r_` prefix for an argument that's also read from (this is meant for return only arguments). - Rename variables to make it clear the distance is pixels, using manhattan length measurement.
2021-03-31Fix: Cryptomatte Picker on Legacy Node Failing.Jeroen Bakker
The new Cryptomatte workflow assumes that the picker is used in the new workflow. The legacy node wasn't working as it would never find a correct cryptomatte layer. This fix will use the color sampling like we used to do.
2021-03-31Fix T87080: Select shortest path fails in face modeCampbell Barton
Regression in 80cbbd2843c2358879b1a710d81a3b41e1468327. Unfortunately keeping selection picking behavior as well as supporting finding the nearest face within a radius requires an inconsistency between x-ray and back-buffer selection that doesn't work well using the current arguments. Resolve by adding an argument that causes the input distance to be ignored for back-buffer selection. This is used by selection picking but not the knife tool. This changes behavior for path-selection in face mode, which now uses a margin for back-buffer selection. From my own testing this doesn't seem to be a problem like it could be for regular selection picking.
2021-03-31Fix T86947: Drag & Drop tooltip in Scene modeFalk David
The tooltip while dragging a collection in Scene mode in the Outliner was always "Link inside Collection" even if the action performed was different. This was because the `collection_drop_init` set the `from_collection` always to `NULL` if the Outliner display mode was currently set to Scene. Commit that introduced this issue: rB0f54c3a9b75be8f8db9022fb0aeb0f8d0d4f0299 The fix removes the check of the display mode and only sets the `from_collection` to `NULL` if the ctrl (linking) key is held. Reviewed By: JacquesLucke Maniphest Tasks: T86947 Differential Revision: https://developer.blender.org/D10864
2021-03-31Fix T87082: Smooth thickness not workingFalk David
When using the smooth operator, the thickness would not be smoothed on the first iteration. This was becasue the inner loop was set to run `r * 20` times but `r` starts at 0. The fix makes sure that "Smooth Thickness" works on the first iteration by using a fixed value of `20` as the loop limit. This makes sure that for every iteration, we run the smoothing of the thickness 20 more times. Reviewed By: antoniov Maniphest Tasks: T87082 Differential Revision: https://developer.blender.org/D10867
2021-03-31Cleanup: Fix warningsRichard Antalik
Introduced in b128ffd53970
2021-03-31Cleanup: Remove SEQ_CURRENT_BEGIN macroRichard Antalik
Use LISTBASE_FOREACH instead. SEQ_CURRENT_BEGIN did null checks, so now these must be explicit. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10823
2021-03-31Cleanup: improve navigation gizmo flag useCampbell Barton
Flag check for V3D_LOCK_CAMERA used boolean style assignment to a char, which worked with this flag but could fail if other flags are added that use this convention in the future. - Add static type checks for values so any change to DNA types will need to be made in the navigation gizmo too. - Move camera lock check from `rv3d` to `v3d`, as this isn't stored in the region data.
2021-03-31UI: Gizmo Button to Lock Camera to ViewHarley Acheson
2D gizmo navigation button that toggles 'Lock Camera to View' while in Camera View. Differential Revision: https://developer.blender.org/D10835 Reviewed by Campbell Barton
2021-03-30Cleanup/Refactor: Unify functions that redraw the depth bufferGermano Cavalcante
Now `ED_view3d_backbuf_depth_validate`, `ED_view3d_draw_depth` and `ED_view3d_draw_depth_gpencil` are unified in `ED_view3d_depth_override`. This new function replaces `ED_view3d_autodist_init`. Also, since `ED_view3d_depth_update` depends on the render context, and changing the context is a slow operation, that function also was removed, and the depth buffer cached is now updated inside the new unified drawing function when the "bool update_cache" parameter is true. Finally `V3D_INVALID_BACKBUF` flag has been renamed and moved to `runtime.flag`. Differential revision: https://developer.blender.org/D10678
2021-03-30Fix: buttons whose property contains an 'owner_id' ignore rna undo checkGermano Cavalcante
Introduced in rBce462fa1 but harmless since curretly only `StructRNA` without `owner_id` have the `STRUCT_UNDO` flag cleared. So this commit does not bring any functional changes but it will be useful for {D10695}.
2021-03-30Fix T87058: GPencil Cutter delete all strokes if they are selected and the ↵Antonio Vazquez
layer is locked The problem was produced because the strokes were selected, but the loop to clear this flag before applying cutter was using unlocked layers only, and the protected layer flag was not reset. Now, the flag is reset for all layers, locked and unlocked.
2021-03-30Cleanup: Improve commentHans Goudey
2021-03-30UI: Bring back hover shortcuts for mesh modifiersHans Goudey
Earlier last year, the shortcuts on hover were built as a way to regain speed lost by removing the "Apply" and "Copy" buttons from the panel. For the active modifier concept introduced for geometry nodes, the shortcuts were changed to only affect the active modifier. Based on feedback, this change slowed down many people's interaction with the modifier stack so the UI team decided to return hover shortcuts for modifier panels. The downside of this change is that it looks like the active modifier is "selected" and it could be confusing that the modifier shortcuts don't apply to it. We can explore different ways to display the active status to address this. Ref T87012
2021-03-30Cleanup: use doxy sections and rearrange editmesh_knife.cGermano Cavalcante
2021-03-30Cleanup: animation, remove `BONE_UNKEYED` flagSybren A. Stüvel
Remove the `BONE_UNKEYED` flag. It was only written (set/cleared) but never actually read. Also remove `framechange_poses_clear_unkeyed()` as its only function was to clear the `BONE_UNKEYED` flag. It wasn't used anywhere either. The only code that used the flag was the `extract_pose_from_action()`, which was removed in 2869ce6cfab3aa4ff471bef6e49ac6fe15426247 (2009). No functional changes.
2021-03-30Cleanup: clang-tidy warning.Jeroen Bakker
2021-03-30Knife: snap refactor, prepare for snap gizmoGermano Cavalcante
Minor changes preparing for snap gizmo inclusion. - Extract `knife_snap_edge_in_angle` into a utility function. - Check the snap vertex on closest edge instead of the face. - Add MODE_INVOKING state. - Remove unnecessary NULL checks. - Control 'ignore_edge_snapping' while dragging instead of checking dragging in `knife_snap_update_from_mval`. Ref D8220
2021-03-30VSE: Fix image adding inconsistencyRichard Antalik
When adding images with operator, image file path is split into filename and directory passed to load function in name and path fields of SeqLoadData struct. This is because when loading images directory and filenames are split. RNA API function passes whole path in path filed. Apart from loading API inconsistency, this causes initial image loading to fail, so strip resolution is not set. Also name field of SeqLoadData should be reserved for strip name. Let operator code concatenate and split filepath when needed so loading API can be consistent with RNA API and also between strip types. Reviewed By: sergey Differential Revision: https://developer.blender.org/D10818
2021-03-30Cleanup: Decrease variable scopeHans Goudey
2021-03-29Gizmo: Use a utility function to read snap gizmo valuesGermano Cavalcante
No functional changes. This makes the `ED_gizmotypes_snap_3d_update` function more specialized.
2021-03-29Snap Gizmo: Minor optimization when updating gizmo propertiesGermano Cavalcante
As the Snap Gizmo properties are used as return of snapping values and therefore updated with each change, use callbacks to get these values through RNA properties. Differential Revision: https://developer.blender.org/D8525
2021-03-29Fix T86975: GPencil interpolate wrong stroke orderAntonio Vazquez
When interpolate, the stroke order was not correct because it was assumed the GHash iter would return the items in the same order of insertion, but this is false. Now, a list is used to keep the order of the strokes and the Hash is used to get the relationship between strokes as before.
2021-03-29Fix T76872: Mask created after existing keyframe gets broken handlesSergey Sharybin
The issue was caused by handles not being written to the new mask spline shape: it was always written as (0, 0), which was making the handle calculation go wrong later on. Solved by allocating a temporary array of bezier points and calculating handles for them. While this is an extra array allocation it is only done for a small amount of points and it is not in the critical code path. Having this as an extra array helps to overcome a limitation of the current mask shape API. Additionally, disable the interpolation for the shape change: the spline is brand new, there is nothing to be interpolated there.
2021-03-29GPencil Cleanup: Remove legacy key to cancel drawingFalk David
The 'E' key was set to cancel drawing. This was a change in the old grease pencil system and is no longer used.
2021-03-29Comments: improve docstring for ED_view3d_clipping_testCampbell Barton
The meaning of the return value wasn't obvious.
2021-03-29Knife: support vert/edge snapping when not directly over a faceCampbell Barton
Respect the distance argument to EDBM_face_find_nearest, when zero, sample a single pixel, otherwise sample a region. Knife uses the selection-buffer to pick a face when the ray-cast failed. This was meant to allow snapping to nearby faces however as the margin was ignored, it was only used in edge cases where the ray-cast missed but the pixel didn't. Now the face-picking threshold is working as expected. Note that other callers to EDBM_face_find_nearest have been updated so set their distance argument to zero so this only impacts the knife. Regular selection and path select could be modified separately if users prefer this behavior.
2021-03-29Cleanup: logical error in path select pickingCampbell Barton
Resolve logical error in edbm_shortest_path_pick_invoke where any discrepancy between EDBM_unified_findnearest and edbm_elem_find_nearest caused the active-object to be cleared. While it's not a problem at the moment, using a larger threshold for path picking exposes the error.
2021-03-29Knife: scale points & snapping threshold by the DPI factorCampbell Barton
The points were too small on hi-dpi displays.
2021-03-29Fix vert/edge knife snapping when the cursor wasn't over a faceCampbell Barton
In this case, the cage location was left zeroed which was then projected back onto the screen to find the nearest screen space edge/vertex. This made snapping to the vertex/edge fail in some corner-cases where it was intended to work.
2021-03-29Compositor: Add Anti-Aliasing nodeHabib Gahbiche
This is an implementation of Enhanced Subpixel Morphological Antialiasing (SMAA) The algorithm was proposed by: Jorge Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez This node provides only SMAA 1x mode, so the operation will be done with no spatial multisampling nor temporal supersampling. See Patch for comparisons. The existing AA operation seems to be used only for binary images by some other nodes. Using SMAA for binary images needs no important parameter such as "threshold", so we perhaps can switch the operation to SMAA, though that changes existing behavior. Notes: 1. The program code assumes the screen coordinates are DirectX style that the vertical direction is upside-down, so "top" and "bottom" actually represent bottom and top, respectively. Thanks for Habib Gahbiche (zazizizou) to polish and finalize this patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D2411
2021-03-29Knife: reduce redundant face picking queriesCampbell Barton
Reduce the maximum number of queries to find the face under the mouse cursor from 6x to 2x on cursor motion. Calculating the screen-space detail could perform 2x look-ups which have already been calculated.
2021-03-29Fix T83391: Knife sometimes snaps to object centerCampbell Barton
Knife snapping logic assumed having a face under the cursor meant the projected positions were set. This is not always the case as failure to ray-cast uses the back-buffer as a fallback.
2021-03-28Fix T86060: Texture Paint clone tool misleading texture UICampbell Barton
For projection painting tools besides the `DRAW` tool: - Don't show the texture from viewport stencil drawing. - Don't show the texture panel. Based on D10564 by @lichtwerk with own changes.
2021-03-28Cleanup: re-order expensive checks for indirect ID useCampbell Barton
Check for indirect ID use after other simple user count checks are made. Also assert ED_object_base_free_and_unlink_no_indirect_check object argument isn't indirectly used.
2021-03-28Cleanup: revert part of da160dc32d1518dc3e59a8fb7995b59c88870444Campbell Barton
The grease-pencil parent check was enabled when deleting objects, when previously it was only done when unlinking. While harmless, the previous logic is correct.
2021-03-28Fix T86992: Tagged ID deletion conflicts with freeing objectsCampbell Barton
Check LIB_TAG_COPIED_ON_WRITE instead of LIB_TAG_NO_MAIN, matching the behavior of rigid-body shared data.
2021-03-28Workaround T86992: Tagged ID deletion conflicts with freeing objectsCampbell Barton
da160dc32d1518dc3e59a8fb7995b59c88870444 exposed a bug in `BKE_id_multi_tagged_delete` causing a memory leak in soft-body that made `physics_softbody` test fail. Use a loop to remove ID's to keep tests working until T86992 is fixed.
2021-03-27Cleanup: Apply clang formatAntonio Vazquez
2021-03-27Fix T86967 : Artifacts when tracing image to Grease PencilMarcelo Demian Gómez
Tracing images to grease pencil objects creates sometimes artifacts, as seen, for example, when tracing the attached image. {F9910821} I have found the same behavior both in the 2.92 release and in the current 2.93 master. The artifacts are caused by a variable that's not initialized or updated when finding a point tagged as POTRACE_CORNER. This patch solves this issue. Maniphest Tasks: T86967 Differential Revision: https://developer.blender.org/D10832
2021-03-27Fix T86975: GPencil interpolate sequence error when strokes are not selectedAntonio Vazquez
If the selection order is not used, need to put the strokes in inverse order because the Hash Iter returns the strokes in inverse order.
2021-03-27Cleanup: spelling and commentsPratik Borhade
- comment added in struct `KnifeTool_OpData` - struct pointer name `lst` updated to `list` ( Guess its more readable ) - `KNF_MODEL_IGNORE_SNAP_ON` updated to `KNF_MODAL_IGNORE_SNAP_ON` - `KNF_MODEL_IGNORE_SNAP_OFF` updated to `KNF_MODAL_IGNORE_SNAP_OFF` Ref D10824
2021-03-27Fix T86924: UV Sync selection breaks individual origin calculationSiddhartha Jejurkar
Use uvedit_uv_select_test which accounts for UV Sync selection. Ref D10830
2021-03-27UV Editor: Add cursor center operatorFabrício Luis
This matches cursor center operator from the 3D view. Reviewed By: campbellbarton Resolves T70142 Ref D8271
2021-03-27Object: faster object deletionCampbell Barton
The `object_delete_exec` lead to `BKE_library_ID_is_indirectly_used` being called twice. With this patch deleting is around 20% faster. Example when deleting 10000 objects: Current: 35.6s This patch: 18.8s (updated, last rev 29.7s) Reviewed By: campbellbarton Ref D9857