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-04-06cleanuptemp-multi-function-eval-varrayJacques Lucke
2022-04-06Merge branch 'master' into varray-improveJacques Lucke
2022-04-06progressJacques Lucke
2022-04-06progressJacques Lucke
2022-04-06progressJacques Lucke
2022-04-06Fix T96595: Animation not duplicated for meta childrenRichard Antalik
Iterate over meta strip content and duplicate animation for all strips. recursively.
2022-04-06improve ownership hintJacques Lucke
2022-04-06progressJacques Lucke
2022-04-06progressJacques Lucke
2022-04-06progressJacques Lucke
2022-04-06materialize compressedJacques Lucke
2022-04-06add execute_SI_SI_SI_SI_SOJacques Lucke
2022-04-06Fix badly broken caches handling during undo/redo.Bastien Montagne
Original rework of caches during undo/redo (see D8183) had a very bad flaw hidden in it: using the key of a ghash as source of data. While this was effectively working then (cache pointer itself being part of the key, and said cache pointers not being cleared on file write), this is a general very bad way to do things. Now that cache pointers are more and more cleared on file write (as part of clearing runtime-data to reduce false-positives when checking if an ID has changed or not), this has to be fixed properly by: * Not storing the cache pointer itself in the IDCacheKey. * In undo context, in readfile code trying to preserve caches, store the cache pointers as values of the mapping, together with the usages counter The first change potentially affects all usages of `BKE_idtype_id_foreach_cache`, but in practice this code is only used by memfile reading code (i.e. undo) currently. Related to T97015. Reviewed By: brecht Maniphest Tasks: T97015 Differential Revision: https://developer.blender.org/D14559
2022-04-06Cleanup: spelling & poor wording in code & commentsCampbell Barton
2022-04-06Fix: T78228 Send all python errors to info editorCampbell Barton
Python exceptions are now shown in the info editor, this also resolves an old bug where errors were printed twice. This was originally based on D9752 by @ShadowChaser although many changes have been made from the original patch. Details: - BPy_errors_to_report no longer prints additional output. - BKE_report_print_test was added so it's possible to check if calling BKE_report also printed to the stdout. - Callers to BPy_errors_to_report are responsible for ensuring output is printed to the stdout/stderr. - Python exceptions no longer add a trailing newline, needed to avoid blank-space when displayed in the info-editor.
2022-04-06Fix off by one error placing the text cursor from a Python exceptionCampbell Barton
Off by one error placing text from an error.
2022-04-06Fix accessing an empty context succeeding when it shouldn'tCampbell Barton
Internally an empty string is used to access context member `__dir__`, which caused `getattr(context, "")` to succeed returning None.
2022-04-06Cleanup: zero initialize VColRef before setting membersCampbell Barton
Ensures new members will be zeroed, the compiler is able to optimize this into identical compiled output.
2022-04-06Cleanup: quiet compiler warningsCampbell Barton
Ideally this wouldn't be needed, I couldn't find a good solution to avoid casting when comparing const/non-const pointers in this case.
2022-04-06BVH Utils: remove 'isolate' parameterGermano Cavalcante
This is an internal usage parameter. No functional changes.
2022-04-06BVH Utils: Remove '_allocated' members from 'BVHTreeFromMesh'Germano Cavalcante
The parameters indicating whether it is allocated are always `false` and it is up to the caller to free them. Also clang-format was triggered.
2022-04-06Refactor: remove cache parameters from `bvhtree_from_` functionsGermano Cavalcante
The `BVHCacheType bvh_cache_type` parameter defines specific `BVHTrees` that cannot be customized. So it doesn't make sense to pass this value to any `*bvhtree_from_[...]_ex` function as the `BVHTrees` created in these cases are custom and cannot be saved in the cache. This also resulted in a nice cleanup in the code. Differential Revision: https://developer.blender.org/D14479
2022-04-06Cleanup: Simplify if statements, clang tidyHans Goudey
2022-04-06Refactor: Deduplicate and simplify BVH Utils codeGermano Cavalcante
In summary the changes are: - Merge all `bvhtree_from_mesh_*.*_setup_data` in a single utility - Create `bvhtree_from_editmesh_setup_data` - Setup data only once in `BKE_bvhtree_from_mesh_get` and `BKE_bvhtree_from_editmesh_get` Also the behavior of `BKE_bvhtree_from_mesh_get` and `BKE_bvhtree_from_editmesh_get` changed a bit: - If a null tree is cached, don't set the `data` to zero. This tree is not an error and the others data can still be used. - If a null tree is returned, don't set the `data` to zero. Matches the previous change. Differential Revision: https://developer.blender.org/D14549
2022-04-06Fix: Pass const arguments to object snappingHans Goudey
2022-04-05GPencil: Fix buiding with GTESTClément Foucault
2022-04-05Cleanup: fix various typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D14443
2022-04-05Fix T96904: texture paint sample tool not working with closest interpolationBrecht Van Lommel
For drawing pixel art. Based on patch by Philipp Oeser.
2022-04-05Refactor: Unify vertex and sculpt colors into newJoseph Eagar
color attribute system. This commit removes sculpt colors from experimental status and unifies it with vertex colors. It introduces the concept of "color attributes", which are any attributes that represents colors. Color attributes can be represented with byte or floating-point numbers and can be stored in either vertices or face corners. Color attributes share a common namespace (so you can no longer have a floating-point sculpt color attribute and a byte vertex color attribute with the same name). Note: this commit does not include vertex paint mode, which is a separate patch, see: https://developer.blender.org/D14179 Differential Revision: https://developer.blender.org/D12587 Ref D12587
2022-04-05Curves: fix missing updates switching to sculpt modeKévin Dietrich
This would cause the viewport to draw stale data until a stroke is done.
2022-04-05Curves: fix edit mode detectionKévin Dietrich
This adds missing cases to detect edit mode for Curves objects. Unlike other object types, Curves do not have specific edit data, rather we edit the original data directly, and rely on `Object.mode`. For this, `BKE_object_data_is_in_editmode` had to be modified to take a pointer to the object. This affects two places: the outliner and the dependency graph. For the former place, the object pointer is readily available, and we can use it. For the latter, the object pointer is not available, however since it is used to update edit mode pointers, and since Curves do not have such data, we can safely pass null to the function here. This also fixes the assertion failure that happens when closing a file in edit mode. Differential Revision: https://developer.blender.org/D14330
2022-04-05Overlay: Fix edit mode shader compilation after recent commitClément Foucault
This was caused by rBd889762590a4f068aa312879976e98dbd0ee93fc
2022-04-05Curves: Port legacy curve viewport drawing to the new data-blockHans Goudey
Instead of using `CurveEval` to draw the curve wire edges, use the new `Curves` data-block, which is already built as part of an object's evaluated geometry set whenever there is a `CurveComponent`. This means that we can remove `Curve`'s temporary ownership of `CurveEval` for drawing (added in 9ec12c26f16ea3da1e), which caused a memory leak as described in T96498. In my testing this improved performance by around 1.5x during viewport playback, back to the performance of 3.1 before the curve data structure transition started. The next step of using the GPU to do the final curve evaluation for the viewport is described in T96455, but is unrelated. Differential Revision: https://developer.blender.org/D14551
2022-04-05Refactor: Evaluate surface objects as mesh componentsHans Goudey
This commit furthers some of the changes that were started in rBb9febb54a492 and subsequent commits by changing the way surface objects are presented to render engines and other users of evaluated objects in the same way. Instead of presenting evaluated surface objects as an `OB_SURF` object with an evaluated mesh, `OB_SURF` objects can now have an evaluated geometry set, which uses the same system as other object types to deal with multi-type evaluated data. This clarification makes it more obvious that lots of code that dealt with the `DispList` type isn't used. It wasn't before either, now it's just *by design*. Over 1100 lines can be removed. The legacy curve draw cache code is much simpler now too. The idea behind the further removal of `DispList` is that it's better to focus optimization efforts on a single mesh data structure. One expected functional change is that the evaluated mesh from surface objects can now be used in geometry nodes with the object info node. Cycles and the OBJ IO tests had to be tweaked to avoid using evaluated surface objects instead of the newly exposed mesh objects. Differential Revision: https://developer.blender.org/D14550
2022-04-05Curves: new Grow/Shrink brushJacques Lucke
This adds a new Grow/Shrink brush which is similar to the Length brush in the old hair system. * It's possible to switch between growing and shrinking by hold down ctrl and/or by changing the direction enum. * 3d brush is supported. * Different brush falloffs are supported. * Supports scaling curves uniformly or shrinking/extrapolating them. Extrapolation is linear only in this patch. * A minimum length settings helps to avoid creating zero-sized curves. Differential Revision: https://developer.blender.org/D14474
2022-04-05Preferences: enable Duplicate Data for curves and point cloud objectsJacques Lucke
Those geometry types are expected to behave the same as e.g. mesh with respect to data copying. The fact that this was not enabled already was an oversight in the initial commit that added these types. Differential Revision: https://developer.blender.org/D14554
2022-04-05Fix T97010 GPencil: Artifacts on Grease PencilClément Foucault
Was caused by wrong name for uniform update. Regression introduced in rBeccb0b222e34
2022-04-05Fix T97071: Duplicating strip in locked channel creates overlapping stripsRichard Antalik
Add flag `SEQ_IGNORE_CHANNEL_LOCK` to indicate, that channel lock should not apply to strip. This flag must be cleared after transformation.
2022-04-05Cleanup: Change globalBlock members to snake caseClément Foucault
This avoid conflicting defines in GLSL Fix T96998 Blender 3.2.0 Alpha crashes on startup
2022-04-05Cleanup: Overlays: Remove unused facefill shaderClément Foucault
2022-04-05Fix T97003: color-management settings can't be animatedCampbell Barton
Regression in [0] which missed excluding FRAME_CHANGE from deg_recalc_flags_for_legacy_zero causing all DEG_id_tag_update(&scene->id, 0) calls to re-calculate animation data. When this tagging was done in the RNA update function, changing key-framed values in the UI would be immediate reset to their keyed-values. Thanks to Philipp Oeser for finding the root cause. [0]: 35aedd87e78d44aa0a622d26261ecac7ece12925
2022-04-05Fix T96424: Don't register undo step for empty knife cutPratik Borhade
Prevents undo push when no cut has been made. Reviewed By: campbellbarton Ref D14329
2022-04-05WM: avoid unnecessary undo step creation when duplicatingPratik Borhade
Calling duplicate operation without selecting anything registers an undo step. If nothing is selected (keyframe, curve, object, etc.), cancel the operator execution to prevent undo push. Patch improves following operators: - ACTION_OT_duplicate - GPENCIL_OT_duplicate - GRAPH_OT_duplicate - MESH_OT_duplicate - NODE_OT_duplicate - OBJECT_OT_duplicate Reviewed By: campbellbarton Ref D14511
2022-04-05Fix: wrong operator return valueJacques Lucke
2022-04-05Fix T96745: UI: Change "Inverts" to "Invert" for selection toolAlaska
This is to improve grammatical consistency with other selection options. Maniphest Tasks: T96745 Differential Revision: https://developer.blender.org/D14444
2022-04-05Gizmos: enable gizmos for the action spaceYann Lanthony
Support gizmos for the the action space type based on how it is done for other types of spaces in Blender (e.g: view3d, image). See patch submission for sample code. Reviewed By: campbellbarton, sybren Ref D13999
2022-04-05Cleanup: avoid unnecessary undo steps for curves & simplify codeCampbell Barton
Some edit-curve operators used an 'ok' variable to represent if the selection was found and if a change was made. Previously it would only return cancel if an error was shown causing a redundant undo step to be added without a selection. Since this is simple behavior that shouldn't need much explanation, use two variables with meaningful names to avoid confusion. Reviewing D14511 highlighted this issue.
2022-04-05Fix: Assert fails when evaluating single point Bezier curveHans Goudey
Return early when there is only one point, since that means there are no segments.
2022-04-05Sequencer: skip redundant F-curve GSet allocationCampbell Barton
2022-04-05Fix memory leak duplicating sequencer stripsCampbell Barton
Regression in [0] also skip creating a GSet when there are no F-curves. [0]: e74420124f3a429ad8a1492e56a7e1561d86d6f7