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
path: root/source
AgeCommit message (Collapse)Author
2022-11-09Cleanup: Miscellaneous cleanups to trim curves nodeHans Goudey
- Fix braces initialization warning - Fixed missing static specifier - Removed two unused functions
2022-11-09Fix T102214: inconsistenty between bake and render with invalid material indexBrecht Van Lommel
When the materal slot index on mesh faces exceeds the number of slots, rendering would use the last material slot while other operations like baking would fall back to the default material. Now consistently use the last material slot in such cases, since preserving backwards compatibility for rendering seems most important. And if there is one material slot, it's more useful to use that one rather than falling back to the default material.
2022-11-09Merge branch 'blender-v3.4-release'Hans Goudey
2022-11-09Geometry Nodes: Trim curve node selection input and correctionsMattias Fredriksson
Correct trim for cyclical curves mentioned in T101379, splitting the curves if the start/endpoint is at the 'loop point'. Correct implementation based on comments in D14481, request was made to use 'foreach_curve_by_type' to computing the point lookups. Included corrections from D16066 as it may not be a adopted solution. Exposed selection input by adding it as input to the node. Note: This is disabled for 3.4 to avoid making UI changes in Bcon3. Differential Revision: https://developer.blender.org/D16161
2022-11-09Improved Korean Font SampleHarley Acheson
Small change to the text sample used for Korean font previews See D16428 for details. Differential Revision: https://developer.blender.org/D16428 Reviewed by Brecht Van Lommel
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-09Depsgraph: simplify scheduling in depsgraph evaluatorJacques Lucke
No functional or performance changes are expected. Differential Revision: https://developer.blender.org/D16423
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-09Fix T102278: Compositor transforms apply locallyOmar Emara
When using two transformed compositor results, the transformation of one of them is apparently in the local space of the other, while it should be applied in the global space instead. In order to realize a compositor result on a certain operation domain, the domain of the result is projected on the operation domain and later realized. This is done by multiplying by the inverse of the operation domain. However, the order of multiplication was inverted, so the transformation was applied in the local space of the operation domain. This patch fixes that by inverting the order of multiplication in domain realization.
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-09Fix T102306: buildtime shader compilation option fails under WaylandCampbell Barton
libdecor (for window decorations) was crashing on exit with the shader builder, avoid the crash by calling the "background" system creation function which doesn't initialize window management under Wayland.
2022-11-09Fix T102306: buildtime shader compilation option fails under WaylandCampbell Barton
libdecor (for window decorations) was crashing on exit with the shader builder, avoid the crash by calling the "background" system creation function which doesn't initialize window management under Wayland.
2022-11-09BLI_math: remove normalize from mat3_normalized_to_quat_fastCampbell Barton
The quaternion calculated are unit length unless the the input matrix is degenerate. Detect degenerate cases and remove the normalize_qt call.
2022-11-09Merge branch 'blender-v3.4-release'Campbell Barton
2022-11-09Cleanup: fix types from f04f9cc3d021Chris Blackbourn
2022-11-09Cleanup: add function attributes to BLI_sprintfCampbell Barton
Quiet warning, suggesting to use attributes with GCC.
2022-11-09Fix T101848: Zeroed matrix converted to a quaternion results in rotationCampbell Barton
Re-order checks to ensure a zeroed matrix results in a quaternion without rotation. Also avoid some redundant calculation where the 'trace' was calculated but not used, flip the scaling value early on instead of negating the quaternion after calculating it.
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: formatChris Blackbourn
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-08Color Management: Parallelize ImBuf conversion to floatLukas Stockner
Motivated by long loading times in T101969, reduces render preparation time from 14sec to 6sec. Another possible improvement would be to use C++ and template based on OCIO vs. sRGB, but moving the file to C++ seems nontrivial (and opens up the question whether ocio_capi makes any sense then or we should just use OCIO directly) so I left it at a direct 1:1 parallelization of the existing code for now. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16317
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'Hans Goudey
2022-11-08Geometry Nodes: Add preferred domain to many field inputsHans Goudey
The preferred domain is used to decide which domain the viewer node should use when set to "Auto" domain. This commit adds it to some curve input nodes and the curve and mesh topology nodes. This makes debugging node setups with these nodes a bit faster and less frustrating.
2022-11-08Fix T102358: Sample curve node all curves factor mode incorrectHans Goudey
The "all curve" sampling is implemented as two functions internally. The first finds which curve each "global" sample should be on. Then the second is the regular evaluation and sampling in that curve. The first operations creates lengths, but they were processed as factors when passed to the second function.
2022-11-08Cleanup: formatChris Blackbourn
2022-11-08Merge branch 'blender-v3.4-release'Richard Antalik
2022-11-08Fix T102328: Incorrect strip state after copyingRichard Antalik
Effect strip start position was translated twice. This is caused by recent refactoring, see 7afcfe111aacc8bc. Don't change `seq->start` of attached effect strips during translation and only rely on `seq_time_update_effects_strip_range` function.
2022-11-08Merge branch 'blender-v3.4-release'Hans Goudey
2022-11-08Fix T102003: Spline parameter length wrong for NURBSHans Goudey
The node has always be a bit confusing for the NURBS case, since it uses the distance between control points since the evaluated/control point mapping isn't obvious, but it also went above 1, which wasn't correct. Instead, retrieve the total length from the point lengths calculated in the previous step. The results should be the same for other curve types.
2022-11-08Geometry Nodes: Fix alignment of exposed properties in the modifierLeon Schittek
The spacing and alignment of the properties in the geometry nodes modifier could vary depending on the type of the socket or whether the input can accept attributes. Wrapping each property in its own `row` layout allows us to make the spacing and alignment between them consistent. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D16417
2022-11-08Geometry Nodes: Fix alignment of exposed properties in the modifierLeon Schittek
The spacing and alignment of the properties in the geometry nodes modifier could vary depending on the type of the socket or whether the input can accept attributes. Wrapping each property in its own `row` layout allows us to make the spacing and alignment between them consistent. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D16417
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'Jacques Lucke
2022-11-08Fix: improve CD_ASSIGN handling when adding custom data layerJacques Lucke
Previously, the code would incorrectly free the passed in custom data layer even when `CD_ASSIGN` was not used. Now the function actually supports assigning the data to the layer. This only fixes the case for custom data layer types that only support a single layer like `CD_MEDGE`. Informally reviewed by Hans Goudey.
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-08BLI: new basic CacheMutexJacques Lucke
This patch introduces a new `CacheMutex` which makes it easy to implement lazily computed caches in e.g. `Curves`. For more details see `BLI_cache_mutex.hh`. Differential Revision: https://developer.blender.org/D16419
2022-11-08Cleanup: fix compiler warning with openjpeg 2.5Brecht Van Lommel
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
2022-11-08Fix T102312: anchored brush texture overlay draws in wrong placePhilipp Oeser
Rotation and scale was done around the wrong center (always around mouse position) in paint_draw_tex_overlay [on the other hand, paint_draw_cursor_overlay already got the center right]. Now make the center dependent on UnifiedPaintSettings "draw_anchored". Maniphest Tasks: T102312 Differential Revision: https://developer.blender.org/D16418
2022-11-08Merge branch 'blender-v3.4-release'Julian Eisel
2022-11-08Fix T85870: ColorRamp Keyframes crash BlenderJulian Eisel
The color-band needs to do some special, rather awkward updating of the UI state when certain values are changed. As @lichtwerk noted in the report, this was done to the wrong buttons. Now lookup the proper buttons, and don't assume that `uiItemR()` only adds a single button (which often isn't the case).