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-06-19VSE: Remove seq->tmp usageRichard Antalik
Remove `seq->tmp` usage from transform code. It was used to tag strips that need to be "shuffled". Pass these strips in `SeqCollection` instead. Reviewed By: sergey, mano-wii Differential Revision: https://developer.blender.org/D11631
2021-06-19Spreadsheet Editor: Row FiltersHans Goudey
This patch adds support for filtering rows based on rules and values. Filters will work for any attribute data source, they are a property of the spreadsheet rather than of the attribute system. The properties displayed in the row filter can depend on data type of the currently visible column with that name. If the name is no longer visible, the row filter filter is grayed out, but it will remember the value until a column with its name is visible again. Note: The comments in `screen.c` combined with tagging the sidebar for redraw after the main region point to a lack of understanding or technical debt, that is a point to improve in the future. **Future Improvements** * T89272: A search menu for visible columns when adding a new filter. * T89273: Possibly a "Range" operation. Differential Revision: https://developer.blender.org/D10959
2021-06-18Fix Build WarningHarley Acheson
Removal of unused local variable. Calculation of underline thickness no longer needed with change to text output of underscore character. Introduced in aee04d496035 Differential Revision: https://developer.blender.org/D11641
2021-06-18Fix T89259: GPencil Duplicate point doesn't work for last pointAntonio Vazquez
The loop was checking the len of the island, but if the island started in the last point the copy was not executed.
2021-06-18Armature: add B-Bone Y scale channel and extra flag fields to DNA.Alexander Gavrilov
In addition to the base bone transformation itself, B-Bones have controls that affect transformation of its segments. For rotation the features are quite complete, allowing to both reorient the Bezier handles via properties, and to control them using custom handle bones. However for scaling there are two deficiencies. First, there are only X and Y scale factors (actually X and Z), while lengthwise all segments have the same scaling. The ease option merely affects the shape of the curve, and does not cause actual scaling. Second, scaling can only be controlled via properties, thus requiring up to 6 drivers per joint between B-Bones to transfer scaling factors from the handle bone. This is very inefficient. Finally, the Z channels are confusingly called Y. This commit adds a B-Bone Y Scale channel and extra B-Bone flag fields to DNA with appropriate versioning (including for F-Curves and drivers) in preparation to addressing these limitations. Functionality is not changed, so the new fields are not used until the following commits. Differential Revision: https://developer.blender.org/D9870
2021-06-18Fix T89246: No Mnemonic Underlines in DialogsHarley Acheson
When drawing mnemonic underlines for hotkeys, use text output of underscore character instead of direct drawing a line. Otherwise these are not visible in dialog buttons. Introduced in 0fcc063fd99c Differential Revision: https://developer.blender.org/D11641 Reviewed by Campbell Barton
2021-06-18GPencil: Move copy layer settings to functionAntonio Vazquez
Better to have a function that can be reused to duplicate the settings that need to be copied.
2021-06-18Fix T89262: Crash in regular FileBrowser ID listing of 'asset' .blend files.Bastien Montagne
`ED_fileselect_get_asset_params` would only return actual data pointer when file browser is in ASSET mode. Calling that whole section only makes sense if filebrowser is in asset mode anyway. Regression introduced in rBf6c5af3d4753 I think. @Severin committing this fix now as this is a fairly critical bug for the studio, feel free to revert and do proper fix if this one is not the best solution.
2021-06-18Performance: Limit recounting during selection mode flushing.Jeroen Bakker
This patch ensures that selection mode flushing updates total selection counts internally. This reduces recounting when we are sure that the input total selection counts were up to date. For example for circle selection the total selection counts were correct. But during flushing the selection could have been changed and therefore the selection was always recounted. This increased the performance on selected system from 6.90 FPS to 8.25 FPS during circle selection operations. Before: {F10179981} After: {F10179982} Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11647
2021-06-18Fix undefs from previous commitGermano Cavalcante
2021-06-18Fix T89210: Box selection can fail in graphics editorGermano Cavalcante
Test the intersection of segment instead of point.
2021-06-17Fix T89234: Gpencil Separate doesn't copy settings in Stroke/Point modeAntonio Vazquez
Some values were not copied from the old layer to the new one as Tint or Opacity factor. The error affected to Strokes and Point mode
2021-06-17Cleanup: split BKE_mesh_copy_settings into two functionsCampbell Barton
- BKE_mesh_copy_parameters_for_eval to be used for evaluated meshes only as it doesn't handle ID user-counts. - BKE_mesh_copy_parameters is a general function for copying parameters between meshes.
2021-06-17Cleanup: spellingCampbell Barton
2021-06-17Cleanup: unused argument, function & shadow variable warningCampbell Barton
2021-06-17VSE: Refactor transform operator codeRichard Antalik
Refactor function `freeSeqData` so it is readable. One strip can have multiple transform operations defined. To prevent processing strip multiple times, build `SeqCollection` and use sequencer iterator instead of iterating `TransData` directly. No functional changes. Differential Revision: https://developer.blender.org/D11618
2021-06-17VSE: Reduce transform code complexityRichard Antalik
Reduce complexity of sequencer transform code by removing recursivity. This is possible by treating meta strips (mostly) as any other strip and containing all transform code within SEQ_ functions. Unfortunately internally meta strips still require special treatment, but all complexity from code all over transform code seems to be possible to contain within one function. Functional change: Previously adjusting handle of single image strip moved animation. Now animation is not moved, which is behavior for all other strips. Reviewed By: sergey, mano-wii Differential Revision: https://developer.blender.org/D11493
2021-06-16Fix T88342: 'To Sphere' and 'Push/Pull' not working in Pose modeGermano Cavalcante
Some modes don't take into account that `TransData` may be in data space.
2021-06-16Edge-scrolling for node editorLukas Tönne
Starts scrolling when dragging a node or node link and going outside the current window. Largely copied from the VIEW2D_OT_edge_pan operator. Edge panning operator customdata and supporting functions now in UI_view2d.h, so they could be used by operators in other editor libraries. The VIEW2D_OT_edge_pan operator also uses this customdata and shared functions now. Operators properties can be used to configure edge panning margins and speed for each use case, rather than using hardcoded values. The speed function for edge panning has been tweaked somewhat: * "Speed per pixel" has been replaced with a "speed ramp" distance. This is more intuitive and also creates an upper bound for the speed, which can otherwise become extreme with large cursor distance. * "Max speed" is reached at the end of the speed ramp. * Padding the region inside and outside is applied as before, but both values are operator properties now. Node transform operator also supports edge panning. This requires an offset for changes in the view2d rect, otherwise nodes are "stuck" to the original view. Transform operator had cursor wrapping categorically enabled, but this gets quite confusing with the edge scrolling mechanism. A new TransInfo option T_NO_CURSOR_WRAP has been introduced to disable this behavior. The double negative is a bit annoying, but want to avoid affecting the existing transform modes, so by default it should still set the OP_IS_MODAL_GRAB_CURSOR flag (which then sets the WM_CURSOR_WRAP_XY flag during modal execution). Reviewed By: HooglyBoogly, JacquesLucke Differential Revision: https://developer.blender.org/D11073
2021-06-16ShaderFX operators: Tweak a bit poll functions, forbid in liboverride cases.Bastien Montagne
Similar to what we do for constraints and modifiers, except that currently adding or editing shaderfx in liboverride objects is completely unsuported. Fix T88974.
2021-06-16Tweaks to Constraints operators poll functions.Bastien Montagne
Mainly: * Make `ED_operator_object_active_editable_ex` properly report poll messages on failure. * Add `ED_operator_object_active_local_editable_posemode_exclusive` for bone constraints requiring pure local Object (non-override one). * General cleanup and adding more poll messages on failures.
2021-06-16Cleanup: minor simplification to status allocationCampbell Barton
2021-06-16Fix pose-mode statistics with multi-object editingCampbell Barton
- Include all objects in pose mode. - Show the number of objects in pose mode. - Show the number of objects in edit mode for all types of objects (not just meshes).
2021-06-16Cleanup: sculpt mode checks when calculating statsCampbell Barton
Sculpting dynamic topology used to code-path for counting object then never used the result. Match object mode checks in string access & drawing.
2021-06-16Screen: simplify internal logic for new full-screen areasCampbell Barton
Creating a new full screen area had it's area initialized as empty, updating the screen then set the area to a 3D view (as a fallback), before the actual area type was set. This made setting the intended space-type run the 3D views exit callback on a 3D view without a View3D struct allocated, which the exit callback needed to account for. Resolve by calling ED_screen_change after the area type has been set.
2021-06-16UI - LOCAL View3D overlay statsHarley Acheson
This patch improves the 3DView statistics overlay to show LOCAL stats while in local view. This means the stats can vary between 3DViews and the statusbar when views are in local view, but this gives a much more accurate count of the objects, and their components, that you are directly working with rather than just scene values. Differential Revision: https://developer.blender.org/D8883 Reviewed by Campbell Barton
2021-06-16VSE: Improve animation evaluation performanceRichard Antalik
Use lookup string callback function for `sequences_all` RNA property `rna_SequenceEditor_sequences_all_lookup_string` using a GHash for faster lookups. When names are changed or strips are added/removed the lookup is tagged invalid. The next time the lookup is used it will rebuild it. Reviewed By: sergey, jbakker Differential Revision: https://developer.blender.org/D11544
2021-06-15UI: Support right aligned non-shortcut hints in widgetsJulian Eisel
Widget drawing code already supported drawing right-aligned, grayed out shortcut strings. This patch generalizes things a bit so this can also be used to draw other hints in the same way. There have been a few instances in the past where this would've been useful, D11046 being the latest one. Note that besides some manual regression testing, I didn't check if this works yet, as there is no code actually using it (other than the shortcuts). Can be checked as part of further development for D11046. A possible further improvement would be providing a way to define how clipping should be done. E.g. sometimes the right-aligned text should be clipped first (because it's just a hint), in other cases it should be left untouched (like current code explicitly does it for shortcuts). Removes the `UI_BUT_HAS_SHORTCUT` flag, which isn't needed anymore.
2021-06-15BLI: use explicit task isolation, no longer part of parallel operationsBrecht Van Lommel
After looking into task isolation issues with Sergey, we couldn't find the reason behind the deadlocks that we are getting in T87938 and a Sprite Fright file involving motion blur renders. There is no apparent place where we adding or waiting on tasks in a task group from different isolation regions, which is what is known to cause problems. Yet it still hangs. Either we do not understand some limitation of TBB isolation, or there is a bug in TBB, but we could not figure it out. Instead the idea is to use isolation only where we know we need it: when holding a mutex lock and then doing some multithreaded operation within that locked region. Three places where we do this now: * Generated images * Cached BVH tree building * OpenVDB lazy grid loading Compared to the more automatic approach previously used, there is the downside that it is easy to miss places where we need isolation. Yet doing it more automatically is also causing unexpected issue and bugs that we found no solution for, so this seems better. Patch implemented by Sergey and me. Differential Revision: https://developer.blender.org/D11603
2021-06-15Fix: Sequencer backdrop not updated during playback.Jeroen Bakker
Caused by recent optimization in {7b76a160a4}.
2021-06-15Fix missing normal update in edit-mesh blend-from shape operatorCampbell Barton
2021-06-15BMesh: use faster normal update method for edit-mesh coordinatesCampbell Barton
This wasn't included in the previous fix so it'd be 2.93 compatible.
2021-06-15Fix outdated face tessellation use when editing edit-mesh coodinatesCampbell Barton
2021-06-15Screen: clear runtime structures on file-read & data-copyCampbell Barton
Clear the runtime data structs instead of individual members, this simplifies adding new runtime members as there are at least two places they would need to be cleared. Resolves error in D8883.
2021-06-14Fix Build WarningHarley Acheson
Marking unused function argument. Introduced in bcff0ef9cabc Differential Revision: https://developer.blender.org/D10887
2021-06-14UI: Windows Blend File AssociationHarley Acheson
This patch allows Windows users to specify that their current blender installation should be used to create thumbnails and be associated with ".blend" files. This is done from Preferences / System. The only way to do this currently is from the command-line and this is sometimes inconvenient. Differential Revision: https://developer.blender.org/D10887 Reviewed by Brecht Van Lommel
2021-06-14BMesh: support face-normal calculation in normal & looptri functionsCampbell Barton
Support calculating face normals when tessellating. When this is done before updating vertex normals it gives ~20% performance improvement. Now vertex normal calculation only needs to perform a single pass on the mesh vertices when called after tessellation. Extended versions of normal & looptri update functions have been added: - BM_mesh_calc_tessellation_ex - BM_mesh_normals_update_ex Most callers don't need to be aware of this detail by using: - BKE_editmesh_looptri_and_normals_calc - BKE_editmesh_looptri_and_normals_calc_with_partial - EDBM_update also takes advantage of this, where calling EDBM_update with calc_looptri & calc_normals enabled uses the faster normal updating logic.
2021-06-14Edit Mesh: use params arg for update function, add calc_normals argCampbell Barton
Rename function EDBM_update_generic to EDBM_update, use a parameters argument for better readability. Also add calc_normals argument, which will have benefits when calculating normals and tessellation together is optimized.
2021-06-14Fix T88494: add missing depsgraph relation update tagsJacques Lucke
Adding e.g. a Collection Info node creates a new depsgraph relation. Therefore the relations should be updated.
2021-06-14Fix T88807: crash when there are multiple links between the same socketsJacques Lucke
This commit does two things: * Disallows creating more than one link from one socket to a multi socket input. * Properly count links if there happen to be more than one link between the same sockets. The new link counting should also be more efficient asymptotically. Differential Revision: https://developer.blender.org/D11570
2021-06-13Cleanup: redundant initializationCampbell Barton
These were limited to obvious cases. Some less obvious cases were kept as refactoring might make them necessary in future.
2021-06-13Cleanup: use return arg prefix for ED_object_add_generic_get_optsCampbell Barton
2021-06-13Cleanup: avoid the possibility of 'enter_editmode' being left unsetCampbell Barton
While in practice this isn't an issue currently, always set 'enter_editmode' in ED_object_add_generic_get_opts to avoid problems in the future.
2021-06-13Cleanup: remove redundant NULL check, reduce scopeCampbell Barton
2021-06-11Render Window as Non-Child on Win32 platformHarley Acheson
This patch makes the "Render" window a top-level window, not a child of the main window, which was the case in blender versions prior to 2.93. This means it is no longer "on top", nor is the icon grouped on the taskbar in the same way, but you can Alt-Tab between it and the main window. This change only affects the Windows platform as the other platforms behave this way. See D11576 for links to negative feedback that prompts this change. Differential Revision: https://developer.blender.org/D11576 Reviewed by Brecht Van Lommel
2021-06-11Overlays: Make flash on mode transfer an operator propertyPablo Dobarro
This moves the flash on mode transfer effect option from the overlays to an operator property of the mode transfer operator. - This effect is intended to show the target object when no overlays or a minimal set of overlays is enabled. Making it part of the whole set of overlays invalidates this use case. - The effect is not intended to be configurable per viewport, it should be a global option. The effect is still implemented using the overlay engine (instead of a draw modal callback) due to performance and drawing artifacts. Having it implemented as an overlay with runtime timer data in the objects makes also possible to run multiple animations at the same time without any visual glitches. Reviewed By: campbellbarton, JulienKaspar Differential Revision: https://developer.blender.org/D11519
2021-06-11Add option to link assets on drag & dropJulian Eisel
Note: Linking in this case as in link vs. append. Easily confused with linking a data-block to multiple usages (e.g. single material used by multiple objects). Adds a drop-down to the Asset Browser header to choose between Link and Append. This is probably gonna be a temporary place, T54642 shows where this could be placed eventually. Linking support is crucial for usage of the asset browser in production environments. It just wasn't enabled yet because a) the asset project currently focuses on single user, not production assets, and b) because there were many unkowns still for the workflow that have big impact on production use as well. With the recently held asset workshop I'm more confident with enabling linking, as design ideas relevant to production use were confirmed. Differential Revision: https://developer.blender.org/D11536 Reviewed by: Bastien Montagne
2021-06-11Fix object assets getting duplicated after droppingJulian Eisel
The operator run when dropping objects would duplicate the dropped object and place that in the scene, even though that was just appended. Addressed by making the duplication optional for the operator. If the duplication is not requested, the object is just added to the scene (if needed), repositioned based on the drop location and selected (deselecting other objects). This makes the operator work as expected when using it to drop assets. Reviewed as part of https://developer.blender.org/D11536. Reviewed by: Bastien Montagne
2021-06-11Fix T89033: segfault reordering animation channelsMaxime Casas
Fix segmentation fault that can occur when reordering animation channels. Under some specific conditions, the list "act->curves" is empty in the "join_groups_action_temp" function. In particular, this happens when a scene contains an action that has not been pushed down, and with no keyframe in it. Reviewed By: sybren Differential Revision: https://developer.blender.org/D11569
2021-06-11Sequencer: Do not redraw during playback.Jeroen Bakker
When using large sequences including audio the drawing of the audio on top of the strip takes a lot of time. This effects the playback performance heavily. During the animation playback performance there was a solution for this by only drawing the playhead overlay. This was reverted for the sequence editor as it didn't update the color strips when they were animated. This patch checks if there are animated color strips if so the full screen is redrawn, otherwise only the playhead is redrawn. Reviewed By: ISS Differential Revision: https://developer.blender.org/D11580