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
2022-11-13UV: fix compile on windowsChris Blackbourn
Remove VLAs for compiling on windows. Regression from 721fc9c1c950
2022-11-13Cleanup: fix compiler error/warningsJacques Lucke
2022-11-13UV: implement copy and paste for uvChris Blackbourn
Implement a new topology-based copy and paste solution for UVs. Usage notes: * Open the UV Editor * Use the selection tools to select a Quad joined to a Triangle joined to another Quad. * From the menu, choose UV > UV Copy * The UV co-ordinates for your quad<=>tri<=>quad are now stored internally * Use the selection tools to select a different Quad joined to a Triangle joined to a Quad. * (Optional) From the menu, choose UV > Split > Selection * From the menu, choose UV > UV Paste * The UV co-ordinates for the new selection will be moved to match the stored UVs. Repeat selection / UV Paste steps as many times as desired. For performance considerations, see https://en.wikipedia.org/wiki/Graph_isomorphism_problem In theory, UV Copy and Paste should work with all UV selection modes. Please report any problems. A copy has been made of the Graph Isomorphism code from https://github.com/stefanoquer/graphISO Copyright (c) 2019 Stefano Quer stefano.quer@polito.it GPL v3 or later. Additional integration code Copyright (c) 2022 by Blender Foundation, GPL v2 or later. Maniphest Tasks: T77911 Differential Revision: https://developer.blender.org/D16278
2022-11-12Merge branch 'blender-v3.4-release'Jacques Lucke
2022-11-12Fix: missing tooltip for color socketsIliya Katueshenock
Differential Revision: https://developer.blender.org/D16401
2022-11-12Cleanup: Rename curves sculpt selection variableHans Goudey
It's a bit simpler to skip the "indices" in the name, that can be assumed from the type.
2022-11-11Add poll messages for marker operatorsColin Basnett
A number of operators were missing poll messages when disabled. These are the following new error messages: 1. "No markers are selected" 2. "Markers are locked" Reviewed By: sybren Differential Revision: https://developer.blender.org/D16403
2022-11-11Merge branch 'blender-v3.4-release'Brecht Van Lommel
2022-11-11Fix T96481: make color picker RGB display consistentHallam Roberts
Show RGB value "1.000" instead of "1", jus like HSV mode. Also uses full labels "Red", "Green" and "Blue" rather than the shortened labels "R", "G" and "B", for both RGB and HSV. Differential Revision: https://developer.blender.org/D14387
2022-11-11Cleanup: Improve curves sculpt code section namesHans Goudey
2022-11-11Merge branch 'blender-v3.4-release'Philipp Oeser
2022-11-11Fix: Curves sculptmode: paintcurve stroke points cannot be transformedPhilipp Oeser
As part of rB3f91540cef7e, we already made `OB_MODE_SCULPT_CURVES` to be allowed in `paint_curve_poll` (alongside `OB_MODE_ALL_PAINT`). Now, to get the paintcurves transform systems to work with curves sculptmode as well, we introduce this "additional case" in the appropriate place in the transform system as well. NOTE: as a next step, considering `OB_MODE_SCULPT_CURVES` to be generally part of `OB_MODE_ALL_PAINT` is to be done (this might fix another couple of bugs, but also has to be carefully checked in many places, so this patch is just fixing this very specific case) Fixes T102204. Maniphest Tasks: T102204 Differential Revision: https://developer.blender.org/D16466
2022-11-11Merge branch 'blender-v3.4-release'Jacques Lucke
2022-11-11Fix T102386: crash when trying to link sockets from different node treesJacques Lucke
This was caused by rBc39eb09ae587e1d9. The optimization broke the case when the socket is not in the provided node tree. Now there are two separate functions, one that always does the slow check to see of the socket is really in the node tree and a potentially much faster version when we are sure that the socket is in the tree.
2022-11-11Merge branch 'blender-v3.4-release'Jeroen Bakker
2022-11-11Fix T100969: Memory leak GPU subdivision during rendering.Jeroen Bakker
The viewport cleans up old subdivision buffers right after drawing. During rendering this was not done and when rendering many frames this lead to memory issues. This patch will also clear up the GPU Subdivision buffers after any offscreen render or final render. There is already a mutex so this is safe to be done from a non main thread. Thanks to @kevindietrich to finding the root cause.
2022-11-11Cleanup: Remove unused navigation widget struct membersAaron Carlisle
The `region_size[2]` was set to -1 but was never accessed.
2022-11-11Cleanup: Use string argument for attribute API functionHans Goudey
Instead of CustomDataLayer, which exposes the internal implementation more than necessary, and requires that the layer is always available, which isn't always true.
2022-11-11Cleanup: Clarify and deduplicate attribute convert implementationHans Goudey
The ED level function is used for more code paths now, and it has been cleaned up. Handling of the active attribute is slightly improved too.
2022-11-11Mesh: Convert color attribute operatorRamil Roosileht
Implements an operator to convert color attributes in available domains and types, as described in T97106. Differential Revision: https://developer.blender.org/D15596
2022-11-10Sculpt: Fix T101914: Wpaint gradient tool doesn't work with vertex maskEdward
Reviewed by: Julian Kaspar & Joseph Eagar Differential Revision: https://developer.blender.org/D16293 Ref D16293
2022-11-10Sculpt: Change symmetrize merge threshold and expose in workspace panelJoseph Eagar
The sculpt symmetrize operator's merge threshold now defaults to 0.0005 instead of 0.001, which tends to be a bit too big for metric scale. Also changed its step and precision a bit to be more usable.
2022-11-10Sculpt: Fix inconsistent naming for cavity_from_mask operatorJoseph Eagar
With db40b62252e5 there have been various UI adjustments and improved renaming. The Mask From Cavity menu operator didn't follow this new naming yet. Reviewed By: Joseph Eagar Differential Revision: https://developer.blender.org/D16409 Ref D16409
2022-11-10Cleanup: Move sculpt.c to C++Hans Goudey
2022-11-10Fix strict compiler warningsSergey Sharybin
2022-11-10Fix T102151: Output nodes don't work inside node groupsOmar Emara
Using output nodes inside node groups in compositor node trees doesn't work for the realtime compositor. Currently, the realtime compositor only considers top level output nodes. That means if a user edits a node group and adds an output node in the group, the output node outside of the node group will still be used, which breaks the temporary viewers workflow where users debug results inside a node group. This patch fixes that by first considering the output nodes in the active context, then consider the root context as a fallback. This is mostly consistent with the CPU compositor, but the realtime compositor allow viewing node group output nodes even if no output nodes exist at the top level context. Differential Revision: https://developer.blender.org/D16446 Reviewed By: Clement Foucault
2022-11-10Merge branch 'blender-v3.4-release'Campbell Barton
2022-11-10Cleanup: spelling in commentsCampbell Barton
2022-11-10Attempt to fix build error on WindowsRay Molenkamp
Was failing since 1efc94bb2f7b, probably because some include uses `std::min()`/`std::max()` which messes with the windows min/max defines.
2022-11-10Merge branch 'blender-v3.4-release'Leon Schittek
2022-11-10Fix T102385: Set frame node active after joining nodesLeon Schittek
Set the created frame node to be the active node when joining nodes with the `NODE_OT_join` operator. This behavior was unintentonaly changed in rB545fb528d5e1 when the operator's execute function was simplified by utilizing the node tree topology cache. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D16440
2022-11-09Asset System: New core type to represent assets (`AssetRepresenation`)Julian Eisel
Introduces a new `AssetRepresentation` type, as a runtime only container to hold asset information. It is supposed to become _the_ main way to represent and refer to assets in the asset system, see T87235. It can store things like the asset name, asset traits, preview and other asset metadata. Technical documentation: https://wiki.blender.org/wiki/Source/Architecture/Asset_System/Back_End#Asset_Representation. By introducing a proper asset representation type, we do an important step away from the previous, non-optimal representation of assets as files in the file browser backend, and towards the asset system as backend. It should replace the temporary & hacky `AssetHandle` design in the near future. Note that the loading of asset data still happens through the file browser backend, check the linked to Wiki page for more information on that. As a side-effect, asset metadata isn't stored in file browser file entries when browsing with link/append anymore. Don't think this was ever used, but scripts may have accessed this. Can be brought back if there's a need for it.
2022-11-09Merge branch 'blender-v3.4-release'Sergey Sharybin
2022-11-09Fix T101906: Modifier apply not working if target object is in excluded ↵Sergey Sharybin
collection The issue was introduced by the optimization of hidden objects and modifiers in the f12f7800c296. The solution here detects that either an object is hidden or the modifier is disabled and does special tricks to ensure the dependencies are evaluated. This is done by constructing a separate minimal dependency graph needed for the object on which the modifier is being applied on. This minimal dependency graph will not perform visibility optimization, making it so modifier dependencies are ensured to be evaluated. The downside of such approach is that some dependencies which are not needed for the modifier are still evaluated. There is no currently an easy way to avoid this. At least not without introducing possible race conditions with other dependency graphs. If the performance of applying modifiers in such cases becomes a problem the possible solution would be to create a temporary object with a single modifier so that only minimal set of dependencies is pulled in the minimal dependency graph. Differential Revision: https://developer.blender.org/D16421
2022-11-09Fix strict compiler warningsSergey Sharybin
Functions which are local to a translation unit should either be marked as static, or be in an anonymous namespace.
2022-11-09Cancel Equalize Handles & Snap Keys when no control points are selectedColin Basnett
The Equalize Handles and Snap Keys operators would allow the user to invoke them successfully even when they would have no effect due to there not being any selected control points. This patch makes it so that an error is displayed when these operators are invoked with no control points are selected. The reason this is in the `invoke` function is because it would be too expensive to run this check in the `poll` function since it requires a linear search through all the keys of all the visible F-Curves. Reviewed By: sybren Differential Revision: https://developer.blender.org/D16390
2022-11-09Cleanup: fix types from f04f9cc3d021Chris Blackbourn
2022-11-09Merge branch 'blender-v3.4-release'Colin Basnett
2022-11-09Hide ratio when using error margin mode in decimate keyframes operatorColin Basnett
This fixes a bug in the function that determines what properties to show on the Decimate Keyframes operator. Before the fix, the "Remove" (i.e., `factor`) slider was visible no matter what "Mode" was being used. This meant that the slider was visible and modifiable when it had no effect, creating confusion. Reviewed By: sybren Differential Revision: https://developer.blender.org/D16318
2022-11-09Cleanup: add unique_index_table to UvElementMapChris Blackbourn
In anticipation of UV Copy+Paste, we need fast access to indices of unique UvElements. Can also be used to improve performance and simplify code for UV Sculpt tools and UV Stitch. No user visible changes expected. Maniphest Tasks: T77911 See also: D16278
2022-11-08Merge branch 'blender-v3.4-release'Richard Antalik
2022-11-08Fix VSE: Effect strip flickers when moving left handleRichard Antalik
The issue was caused by refactoring, see 7afcfe111aacc8bc. Function `SEQ_transform_fix_single_image_seq_offsets` modified offsets after handle was moved, but this was not done correctly. Remove function mentioned above and move strip start when moving left handle of strips that have only single frame of content by design (image, text, color, ...).
2022-11-08Cleanup: Improve precision during UV packing.Chris Blackbourn
Simplify API and improve accuracy of uv packing placement by using pre-translation and double precision internally. Will protect against future precision problems with UDIM. No user visible changes expected. Maniphest Tasks: T68889 Differential Revision: https://developer.blender.org/D16362
2022-11-08Merge branch 'blender-v3.4-release'Philipp Oeser
2022-11-08Fix T102318: crash smoothing vertex weights in editmodePhilipp Oeser
Not quite sure why {rBd37d17019c52} forcefully set the Mesh to NULL if in editmode, but this caused the attribute lookup to fail/crash. Now only use the attribute if we have the mesh (reducing the scope where it is used), bmesh editmode case does not rely on it. Maniphest Tasks: T102318 Differential Revision: https://developer.blender.org/D16406
2022-11-08GPencil: Make Sculpt Auto-masking Global and not by BrushAntonio Vazquez
The auto-masking was working by Brush and this was very inconvenient because it was necessary set the options by Brush, now the options are global and can be set at once. Also, the automa-masking now works with `and` logic and not with `or` as before. That means that a stroke must meet all the conditions of the masking. Added new Layer and Material options to masking the strokes using the same Layer/Material of the selected stroke. Before, only Active Layer and Active Material could be masked. The options of masking has been moved to the top-bar using the same design of Mesh Sculpt masking. As result of the changes above, the following props changed: Removed: `brush.gpencil_settings.use_automasking_strokes` `brush.gpencil_settings.use_automasking_layer` `brush.gpencil_settings.use_automasking_material` Added: `tool_settings.gpencil_sculpt.use_automasking_stroke` `tool_settings.gpencil_sculpt.use_automasking_layer_stroke` `tool_settings.gpencil_sculpt.use_automasking_material_stroke` `tool_settings.gpencil_sculpt.use_automasking_layer_active` `tool_settings.gpencil_sculpt.use_automasking_material_active` Reviewed by: Julien Kaspar, Matias Mendiola, Daniel Martinez Lara
2022-11-08Merge branch 'blender-v3.4-release'Sybren A. Stüvel
2022-11-08Fix T101894: only do FCurve-select if no keys have been touched previouslySybren A. Stüvel
Change the behaviour of circle select on FCurves: - Before any key is touched, the behaviour is as it was (key included in circle-select area → select it; otherwise → select entire curve) - If any key has been touched, an internal option (`use_curve_selection`) is flipped and selecting the entire curve is disallowed. This ensures that once a key changes selection state, it's no longer possible to select the entire curve. This allows dragging over keys and subsequently drag over a keyless part of the curve. Reviewed By: RiggingDojo, troopy28 Maniphest Tasks: T101894 Differential Revision: https://developer.blender.org/D16307
2022-11-08Texture Paint: sync adding a new texture slot to the Image EditorEdward
When changing the texture paint slot index or activating a Texture Node, the texture displayed in the Image Editor changes accordingly. This patch syncs the Image Editor when a new texture paint slot was added, which currently is not the case. Also deduplicates some code.
2022-11-08Merge branch 'blender-v3.4-release'Philipp Oeser