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-02-10Rebase on mastertemp-license-header-spdxCampbell Barton
2022-02-10GPencil: Update-on-write using update cacheFalk David
This implements the update cache described in T95401. The cache is currently only used for drawing strokes and sculpting (using the push brush). **Note: Making use of the cache throughout grease pencil will have to be done incrementally in other patches. ** The update cache stores what elements have changed in the original data-block since the last time the eval object was updated. Additionally, the update cache can store multiple updates to the data and minimizes the number of elements that need to be copied. Elements can be tagged using `BKE_gpencil_tag_full_update` and `BKE_gpencil_tag_light_update`. A full update means that the element itself will be copied but also all of the content inside. E.g. when a layer is tagged for a full update, the layer, all the frames inside the layer and all the strokes inside the frames will be copied. A light update means that only the properties of the element are copied without any of the content. E.g. if a layer is tagged with a light update, it will copy the layer name, opacity, transform, etc. When the update cache is in use (e.g. elements have been tagged) then the depsgraph will not trigger a copy-on-write, but an update-on-write. This means that the update cache will be used to determine what elements have changed and then only those elements will be copied over to the eval object. If the update cache is empty or the data block was tagged with a full update, we always fall back to a copy-on-write. Currently, the update cache is only used by the active depsgraph. This is because we need to free the update cache after an update-on-write so it's reset and we need to make sure it is not freed or read by other depsgraphs. Co-authored-by: @yann-lty This patch was contributed by The SPA Studios. Reviewed By: sergey, antoniov, #dependency_graph, pepeland, mendio Maniphest Tasks: T95401 Differential Revision: https://developer.blender.org/D13984
2022-02-10Deps: upgrade OpenXR 1.0.17 -> 1.0.22Peter Kim
Simple upgrade of OpenXR to 1.0.22, following the steps from https://wiki.blender.org/wiki/Source/OpenXR_SDK_Dependency and rBb69ab42982a1. No changes to Blender code were necessary, only a version bump. The primary motivation for this upgrade is to utilize the `XR_HTCX_vive_tracker_interaction` extension introduced in ver. 1.0.20. However, the latest release (1.0.22) also adds a number of potentially useful extensions such as: - `XR_FB_render_model` - `XR_HTC_facial_expression` - `XR_HTC_vive_focus3_controller_interaction` Ref T95206 Reviewed By: LazyDodo, sybren, mont29 Maniphest Tasks: T95206 Differential Revision: https://developer.blender.org/D13950
2022-02-10Fix T84486: NLA, disable "Sync Length" after splitBrad Clark
Turn off "Sync Length" when splitting an NLA strip. The NLA Strip-Action Clip has a setting called "Sync Length" that is on by default and helps to update the length of the clip to the current actions keyframes so the strip shows the entire actions stored animation. When you split one of these strip-action clips in the NLA to trim it shorter or to move it somewhere else in the NLA tracks to blend or work with, the "Sync Length" setting stays checked on. You can have many strips in the NLA that all look to the same action, if you split one strip , you now have two strips showing or linked to the same action. To see or edit keyframes on a strip, you enter tweak mode. When you exit tweak mode, if "Sync Length" is active on the strip-action clip settings, the strip length is changed/reset to match the action keys. When you have many clips, this causes all of them to evaluate and update no matter where they are in the NLA. This destroys/undoes all the user work to trim down and place the clips in the NLA. **Description of the proposed solution:** This patch/change would turn off, the "Sync Length" setting when the split tool was used on a strip/action clip to help protect the users choice to trim and keep the clip that length. It doesn't change the ability to turn the setting back on or off, it just makes sure that the user doesn't accidentally or unknowingly loose work. The same process happens when an action is created that has a "manual range" set that is different than the length of the actions start-end keyframes. It makes sense to do the same thing for the split tool. **Alternative solutions:** While the user could know this and turn off this setting by hand, it is easy to forget and or the user might think that it only happened to the one clip they were editing and not realize it happened to all the trimmed versions, changing the users choice without the user knowing it happened. **Limitations of the proposed solution:** It only fixes the split tool, if another tool was created and some how impacted the clip length we would need to have that tool also take the sync length into account. Reviewed By: sybren Maniphest Tasks: T84486 Differential Revision: https://developer.blender.org/D10168
2022-02-10Fix compilation with strict Clang flagsSergey Sharybin
There is no `-Wformat-truncation` warning in Clang, so tweak checks around diagnostics pragma accordingly.
2022-02-10Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-10Fix strict warning initializing texture result in compositorSergey Sharybin
From a strict language point of view the code required a braces around `trgba` initialization. But it is easier to rely on the fact that fields which are not specified are zero-initialized.
2022-02-10Fix invalid creation of partial image updaterSergey Sharybin
2022-02-10Cleanup: quiet warnings including RE_pipeline.h directlyCampbell Barton
2022-02-10Cleanup: Clang tidy, unused variabel warningsHans Goudey
2022-02-10Fix: Complete curves renaming missed in previous commitHans Goudey
This made cycles not render curves. Missed in fe1816f67fbc6aaf383ec7
2022-02-10Cleanup: copyright in headers, spelling in commentsCampbell Barton
- Order year consistently. - Minor consistency (case, double-spacing). - Correct typos.
2022-02-10GNUmakefile: move editor settings to .editorconfigCampbell Barton
Remove inline vim/emacs editor configuration, add makefile to editorconfig instead.
2022-02-10Cleanup: remove overly detailed contact info, correct md5 copyrightCampbell Barton
Also remove copyright text with no assignment.
2022-02-09Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-09Fix T95620: Crash When Entering Edit Mode on a CurveHans Goudey
Under some circumstances, simply adding a curve object and going to edit mode would cause a crash. This is because the evaluated `CurveEval` was accessed but also freed by the dependency graph. The fix reverts the part of b76918717dbfd8363f that uses the `CurveEval` for the curve object bounds. While this isn't ideal, it was the previous behavior, and some unexpected behavior with object bounds is much better than a crash. Plus, given the plans of using the new "Curves" data-block for evaluated curves, this situation will change relatively soon anyway.
2022-02-09Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-09Revert "Fix size_t -> int -> size_t round trip in Cycles"Sergey Sharybin
This reverts commit d74bb7be1916744ae56347b49333eac22ebb7339. Need to re-iterate to have a proper support of all platforms.
2022-02-09VSE: Fix sound strip not aligned with movie stripRichard Antalik
Strip aligning wasn't done when length of 2 strip is equal, but since these strips are aligned according to position in stream this can produce offset.
2022-02-09Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-09Fix T95612: only overwrite existing attributes with matching domain and typeJacques Lucke
Also fixes T95611 and T95610. Differential Revision: https://developer.blender.org/D14051
2022-02-09Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-09Fix size_t -> int -> size_t round trip in CyclesSergey Sharybin
There are two things achieved by this change: - No possible downcast of size_t to int when calculating motion steps. - Disambiguate call to min() which was for some reason considered ambiguous on 32bit platforms `min(int, unsigned int)`. On an implementation side the `min()` is defined for a fixed width integer type to disambiguate uint from size_t on 32bit platforms, and yet be able to use it for 32bit operands on 64bit platforms without upcast. Fixes 32bit platforms (such as i386) in Debian package build system. Differential Revision: https://developer.blender.org/D13992
2022-02-09Cleanup: Add newline in error message.Jeroen Bakker
Increases readability during debugging.
2022-02-09Cleanup: non-standard license formatting, minor changesCampbell Barton
2022-02-09Cleanup: make file headers more consistentCampbell Barton
Also some descriptive text into doc-strings.
2022-02-09VSE: Use float for transformation offsetRichard Antalik
When image position is animated, float makes movement look smoother.
2022-02-09BLI: wrap parallel_invoke from tbbJacques Lucke
2022-02-09Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-09Fix T95640: missing null check in previous commitJacques Lucke
2022-02-09Cleanup: Better naming in lib_remap.Jeroen Bakker
Renames is_never_null to violates_never_null.
2022-02-09Adjust "Show Backface" tool tip to be more accurateAlaska
Reviewed By: fclem Differential Revision: https://developer.blender.org/D13849
2022-02-09Fix small grammatical mistake in Refraction Depth tooltipAlaska
Reviewed By: jbakker Differential Revision: https://developer.blender.org/D13850
2022-02-09Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-09Fix T91840: do not create invalid links when inserting a nodeJacques Lucke
Differential Revision: https://developer.blender.org/D14050
2022-02-09Added a "Sharpen Less" kernel for the Filter Compositor nodeColin Basnett
Added a new "Sharpen Less" kernel to the filter compositor node. The intent here is to provide a much less aggressive sharpening filter that can't simply be solved by toning down the factor on the existing sharpen filter. The existing "Sharpen" filter uses a "box" kernel: ``` -1 -1 -1 -1 9 -1 -1 -1 -1 ``` The new "Sharpen Less" filter uses a "diamond" kernel: ``` 0 -1 0 -1 5 -1 0 -1 0 ``` The difference between the two is clear to see in the following side-by-side: {F12847431} Below shows the difference between the filtering kernels as applied to a B&W render of Suzanne with the UV grid as a texture. The left side of the render using the existing "Sharpen" filter, and the right side showing the new "Sharpen Less" filter. Notice that the left side is more aggressive in accentuating localized contrasts across the image. This can lead to what appears to be aliasing or striations in the resulting image: {F12847429} https://developer.blender.org/T95275 https://blender.community/c/rightclickselect/57Kq/?sorting=hot {F12847428} Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D14019
2022-02-09Cleanup: move file descriptions into doxygen file sectionCampbell Barton
Continuation of 19100aa57d847699d17527b76c2fab1f4ab88885.
2022-02-09Cleanup: move file descriptions into doxygen file sectionCampbell Barton
Also other minor corrections & reformat particle system copyright.
2022-02-09Cleanup: simplify copyright headers for sequence & imbufCampbell Barton
2022-02-09Cleanup: remove "The Original Code is: ..." from code commentsCampbell Barton
This is almost always meaningless as most code has changed since the comment was added. Besides this, version control can be used to check if/when a file was modified. Some cases of this were kept when they contain details about the original copyright holder.
2022-02-09Cleanup: use consistent copyright location, move descriptionsCampbell Barton
Order copyright immediately after the license block, this was done almost everywhere with a few exceptions. Remove authors from a few files (we had already removed "Contributors" section however with old patches being applied this gets added back in). Also move descriptive text into the doxygen comment block under \file. In some cases remove the text as it was accidentally copied.
2022-02-09Cleanup: GHOST_ISystem::toggleConsole APIShrey Aggarwal
GHOST_ISystem::toggleConsole had a somewhat misleading name it could be fed 4 different values, so it was not as much a toggle as a set console window state. This change renames `toggleConsole` to a more appropriately named `setConsoleWindowState` and replaces the integer it had to an enum so it's easy to tell what is being asked of it at the call site. Reviewed By: LazyDodo Differential Revision: https://developer.blender.org/D14020
2022-02-08Fix T91871: Symmetrize Armature on custom bone shapePaolo Acampora
Symmetrize Armature now also symmetrizes the transform of custom bone shapes. Adds a new property to `bpy.ops.armature.symmetrize`: //Parameters//: - **direction **(enum in ['NEGATIVE_X', 'POSITIVE_X'], (optional)) – **Direction**, Which sides to copy from and to (when both are selected) - **custom_shape **(enum in ['SYMMETRIZE_SAME', 'SYMMETRIZE_ALL', 'SYMMETRIZE_NONE'], (optional)) – **Custom Shapes**, Wether to symmetrize non symmetric custom bone shapes, all custom shapes, or none at all //Rationale//: Reviewed By: #animation_rigging, Mets, sybren Maniphest Tasks: T91871 Differential Revision: https://developer.blender.org/D13416
2022-02-08BLF: Enable Filtering of woff and woff2 FontsHarley Acheson
Add files with extension ".woff" and ".woff2" to FILE_TYPE_FTFONT file type. Allows selecting and using these types of font files. See D13822 for more details. Differential Revision: https://developer.blender.org/D13822 Reviewed by Campbell Barton
2022-02-08Cleanup: simplify DNA genfile castingCampbell Barton
Avoid using the uint64_t as an intermediate cast since it complicates behavior for signed types (which first need to be cast to an int64_t). Assign both old_value_i & old_value_f from the original value to avoid the need for different handling of signed/unsigned types. Reviewed By: JacquesLucke Ref D14039
2022-02-08Eevee: support the no-op Bump node optimization like in Cycles.Alexander Gavrilov
A Bump node without a Height input is meaningless and does nothing. As such, it is available as an old workaround that allows making Node Group inputs that default to normal when not connected, by routing via a no-op Bump node before doing math. Cycles specifically recognizes this use case and either bypasses the node, or converts it into a Geometry Normal node, but Eevee was still evaluating it as usual. That incurred performance cost, and also normalized the vector unlike Cycles. This implements the same bypass logic for Eevee. Since I'm not sure if it's possible to totally remove the node at this stage, it emits a no-op function call to copy the input vector. Differential Revision: https://developer.blender.org/D14045
2022-02-08Fix T91253: Slow pose bone selection with many bonesCampbell Barton
Viewport cull bones during selection to avoid depth-picking reading the depth buffer for bones that aren't in the viewport. Files with thousands of bones could hang blender for seconds while selecting. The issue could still happen with overlapping bones or when zoomed out so all bones are under the cursor, however in practice this rarely happens. Now files with many bones select quickly. Related changes include: - Split `BKE_pchan_minmax` out of `BKE_pose_minmax`. - Add `mat3_to_size_max_axis` to return the length of the largest axis (used for scaling the radius). Reviewed By: sybren Maniphest Tasks: T91253 Ref D13990
2022-02-08Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-08Fix T95570: missing task isolation when computing normalsJacques Lucke
2022-02-08LibOverride: Use new 'hierarchy root' info in relevant override code.Bastien Montagne
This new info simplifies greatly the handling of resync and deleting liboverride hierarchies, and makes those operations more robust to complex dependencies cases between different hierarchies. Related to T95283.