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-12Fix: geometry nodes viewer shows black with dangling reroute inputIliya Katueshenock
Differential Revision: https://developer.blender.org/D16322
2022-11-11tests: Disable lattice_deform_performance testRay Molenkamp
This test is disabled for the following reasons: This test is one of the longer ones in this suite (2979 out of 3559ms total) and nothing is currently monitoring the performance, if this test were to be 20% slower one day, no-one would actually notice. there are no asserts, the test actually cannot fail. it's good to have some benchmark code, so like some of the other mesh benchmark code, exclude it using an `#ifdef` guard so i can be easily re-enabled when needed. reviewed by: jbakker Differential Revision: https://developer.blender.org/D16314
2022-11-11Fix: Failing instance visibility test after recent commitHans Goudey
The "visibility_instances.blend" cycles test was failing.. The stack of dupli generator types added in e508de041712cc31588 wasn't "popped" correctly after recursive duplis were generated.
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-11Fix T102404: Behavior change in CustomData APIHans Goudey
Previously the `CustomData_add_layer` function always returned the existing layer data when used for types that can only have one layer. This made it work like an "ensure layer exists" function for those types. That was used in various places to make code more concise. 0a7308a0f149 changed that to always "recreate" the layer even when it existed. Maybe this is more logical for an "add layer" function, but that's not clear, and it breaks a bunch of existing code that relied on the current behavior. Rather than spending a bunch of time going through uses of the CustomData API, this patch resets the behavior to what it was before, but adds an assert and a comment to help avoid memory leaks and other issues. We should focus on moving to the attribute API instead. Differential Revision: https://developer.blender.org/D16458
2022-11-11Fix T100706: Object instances with different geometry type invisibleHans Goudey
Code in `deg_object_hide_original` uses the dupli object type to decide whether to hide the original object. The geometry component system changed the dupli object generator types, which made this not work. To maintain existing behavior, maintain a stack of non-geometry-nodes generator types while building the dupli list, and assign that to the dupli object instead. I think this code is on its last legs. It can't handle too many more hacky fixes like this, and should be replaced soon. Hopefully that is possible by using a `bke::Instances` type instead. However, this bug is bad enough that it's worth fixing like this. Differential Revisions: https://developer.blender.org/D16460
2022-11-11Fix T101270: Object Info > Random not unique for nested instances and curvesBrecht Van Lommel
This random number is intended to be unique for every instance, however for some cases with more than one level of nesting this was failing. This also affected curves after they were refactored to use geometry sets. For simple cases the random number is the same as before, however for more complex nesting it will be different than before, changing the render result.
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-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-11Fix T102406: OSL script node no longer updates its in and outputsJacques Lucke
This special case was missing in rB52bd198153ede3c7131df.
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-10Sculpt: Fix T102209: Multiresolution levels greater than 6 crashesJoseph Eagar
pbvh->leaf_limit needs to be at least 4 to split nodes original face boundaries properly.
2022-11-10GPencil: Add warning to Outline modifer when no CameraAntonio Vazquez
The modifier needs a scene camera to work. Now if the camera is not defined, there is a warning. The optimal solution would be to use the `isDisabled` callback but the callback function hasn't the scene parameter and to pass this parameter is necessary to change a lot of things and now we are focus in the next version of GPencil 3.0 and this change not worth the work now. The optimal solution will be implemented in the 3.0 refactor. Related to T102375 Reviewed by: Pablo Vazquez, Matias Mendiola
2022-11-10Fix T100654: Distortion node freezes on empty inputSergey Sharybin
Perform an early output when the input is empty, avoiding division by zero and attempt to run LM solver on an inf values.
2022-11-10Cleanup: Fix strict compiler warningSergey Sharybin
2022-11-10Fix T102340: crash when adding image file in node groupJacques Lucke
The crash happened because the geometry nodes modifier is evaluated before the node tree has been preprocessed. While there was a transitive but non-flushing relation between these two depsgraph nodes. However the relation between the modifier and the `ntree_output` depsgraph node was ignored, because it had `DEPSOP_FLAG_NEEDS_UPDATE` *not* set (which is actually correct, because not all node tree changes change its output). Because this relation is ignored (e.g. in `calculate_pending_parents_for_node`) the transitive relation is ignored as well. The solution in this patch is to explicitly add this transitive non-flushing relation to make sure the modifier only runs after the node tree has been preprocessed, even when the node tree output has not changed. An alternative fix could be to handle all links always but skip the execution of depsgraph nodes that are not needed. This way all links are always taken into account. This solution would require some deeper changes though and would be much more risky. Also fixes T102402.
2022-11-10Fix strict compiler warningsSergey Sharybin
2022-11-10Cleanup: spelling in commentsCampbell Barton
2022-11-10Cleanup: compiler warnings (unused-parameter & missing-declarations)Campbell Barton
2022-11-10Cleanup: formatCampbell Barton
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-09Fix T102256: Gamma Cross blend mode causes stripesRichard Antalik
Function `do_gammacross_effect_float` processed one color channel per loop iteration instead of whole pixel.
2022-11-09Fix T101972: Crash converting 1 or 2 point NURBS curve to BezierHans Goudey
The conversion is only able to handle NURBS curves with at least three points. This commit just avoids the crash for shorter curves. If this ends up confusing users, an error message could be added in the future.
2022-11-09Fix T100883: crash with particle instancing and clumpingBrecht Van Lommel
Properly initialize clump curve mapping tables for duplis and other cases where this was missed by making a generic init/free function instead of duplicating the same logic in multiple places. Also fold lattice deform init into this.
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-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-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 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-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-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-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-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-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-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-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-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-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-08Cleanup: fix compiler warning with openjpeg 2.5Brecht Van Lommel
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-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).
2022-11-08Fix deprecation warnings about printf() on macOSSergey Sharybin
The new Xcode 14.1 brings the new Apple Clang compiler which considers sprintf unsafe and geenrates deprecation warnings suggesting to sue snprintf instead. This only happens for C++ code by default, and C code can still use sprintf without any warning. This changes does the following: - Whenever is trivial replace sprintf() with BLI_snprintf. - For all other cases use the newly introduced BLI_sprintf which is a wrapper around sprintf() but without warning. There is a discouragement note in the BLI_sprintf comment to suggest use of BLI_snprintf when the size is known. Differential Revision: https://developer.blender.org/D16410
2022-11-08Fix T100988: flickering when using sculpt brush in drag dot modeJacques Lucke
Differential Revision: https://developer.blender.org/D16305
2022-11-08Fix T102242: Underline shortcut keys not working/appearing in sub-menuJulian Eisel
Upon closer inspection, looks like `UI_BLOCK_NUMSELECT` was previously set for all code paths and 99e5024e97f1 removed it from one.
2022-11-08Cleanup: format, remove commented code & unused variableCampbell Barton
2022-11-08Fix invalid function signatures for PySequenceMethods callbacksCampbell Barton
Function casts hid casting between potentially incompatible type signatures (using int instead of Py_ssize_t). As it happens this seems not to have caused any bugs on supported platforms so this change is mainly for correctness and to avoid problems in the future.
2022-11-07Fix T102329: assert when cutting node tree linkJacques Lucke
2022-11-07Fix T101526: assert due to wrong node tree owner idJacques Lucke