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
2021-11-04Merge branch 'blender-v3.0-release'Campbell Barton
2021-11-04Merge branch 'blender-v3.0-release'Campbell Barton
2021-11-04Versioning: remove use of translations when loading preferencesCampbell Barton
Add note why translations can't be used while versioning.
2021-11-04Fix Cycles wrong ray visibility with old .blend filesBrecht Van Lommel
2021-11-03Merge branch 'blender-v3.0-release'Julian Eisel
2021-11-03Fix access to current preferences when version patching read preferencesJulian Eisel
The version patch for 0cf9794c7ef0 was checking and setting a data name using the macros for translation. These would access the current preferences which can mismatch the ones currently being version patched. See discussion in 0cf9794c7ef0 for details. Don't handle translation in this version patch, which is more of a "nice-to-have" version patch, no functionality depends on it.
2021-11-02Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-02Images: refactor how failed image load attempts are rememberedJacques Lucke
Previously, `ImageTile->ok` and `ImageUser->ok` were used to indicate whether an image failed to load. There were three possible values which (probably) had the following meanings: * `0`: There was an error while loading the image. Don't try to load again. * `1`: Default value. Try to load the image. * `2`: The image was loaded successfully. This image-wide flag did not make sense unfortunately, because loading may work for some frames of an image sequence but not for others. Remember than an image data block can also contain a movie. The purpose of the `->ok` flag was to serve as an optimization to avoid trying to load a file over and over again when there is an error (e.g. the file does not exist or is invalid). To get the optimization back, the patch is changing `MovieCache` so that it can also cache failed load attempts. As a consequence, `ibuf` is allowed to be `NULL` in a few more places. I added the appropriate null checks. This also solves issues when image sequences are used with the Image Texture node in Geometry nodes (also see D12827). Differential Revision: https://developer.blender.org/D12957
2021-11-02Merge branch 'blender-v3.0-release'Campbell Barton
2021-11-02Cleanup: clang-tidyCampbell Barton
2021-11-01Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-01Fix T92405: Emission Strength Animation of 2.93.5 inherited wrongly in 3.0Sybren A. Stüvel
CyclesX introduced two new input sockets for the Principled BSDF node in rB08031197250a. This change is now handled in the versioning code so that Animation data targeting those sockets are now updated. Files created with the last Blender release (2.93) or earlier are now correctly versioned. Files created with 3.0 alpha/beta may need to be manually updated.
2021-11-01Cleanup: extract versioning code for remapping node socket animationSybren A. Stüvel
When node input sockets are animated, they target the socket by index. As a result, animation data needs to be updated whenever new sockets are added (except when they're added at the end of the list). The code for this is now extracted into its own versioning function, so that it can be used for other versioning steps as well. No functional changes.
2021-11-01Localize image mutex lock into runtime field of Image datablockSergey Sharybin
Allows to avoid a global lock being held while reading files from disk, solving performance issues when Cycles needs to read a lot of packed images. Simple test file F11597666 Differential Revision: https://developer.blender.org/D13032
2021-11-01Fix T92681: resolve use of freed filedescriptor in debug buildsMartijn Versteegh
Ref D13053
2021-10-27UI: Theme refresh for Blender v3.0Pablo Vazquez
{F11548100, size=full} To celebrate the beginning of a new series, it feels like the right time to give the theme a fresh look while improving on what already works. The aim of this refresh is to keep a familiar look but with polishing touches here and there. Like new paint on the walls of your well known house. The theme for Blender 2.8 was well received but presented a few flaws. * Transparency on menus and tooltips reduce readability * Mismatch on certain colors, especially outlines of connected widgets * Active/open menus highlight was not prominent enough * Header background mismatch in some editors At the same time we can make use of new features in 3.0: * Make panels look like panels again (like in v2.3!) * Make use of roundness in more widgets * Since nodes are no longer hard-coded to be transparent, tweak opacity and saturation * Tweak colors for the new dot grid This update does not include: * Meshes in edit mode to match greenish object-data color. This needs tweaks in the code to improve contrast. * A copy of the Blender 2.8x legacy theme. This could be added to the community themes (shouldn't cost much maintenance, I hope) There will be certainly small tweaks to do here and there, I've been working using this theme for months but there can be areas that are missing update. The overall style is presented here. This commit bumps the file subversion. Reviewed By: #user_interface, Severin Differential Revision: https://developer.blender.org/D13008
2021-10-27Fix: Realize instances versioning fails for curve to mesh nodeHans Goudey
It assumed that the last input socket was a geometry socket, but now it is the fill caps boolean option.
2021-10-27Geometry Nodes: Rename more geometry socketsHans Goudey
This is a followup to rB827d7e7d252d48. After this we should be consistent everywhere with the hints in the names of geometry sockets.
2021-10-27Geometry Nodes: Rename some socketsHans Goudey
Subdivision surface: Both geometry sockets renamed to "Mesh" Points to Volume: Use "Points" and "Volume" names Distribute Points on Faces: Use "Mesh" input name These are meant to provide a hint to users which type each node is meant to use.
2021-10-27Cleanup: Move 2.80 doversion code under a MAIN_VERSION_ATLEAST checkDalai Felinto
2021-10-26Assets: Rename "Default" asset library to "User Library"Julian Eisel
Feedback was that "Default" is a bit of a weird name, so switching it to "User Library". Added versioning code which won't be entirely bullet proof (e.g. will also rename libraries named "Default" by the user), but it doesn't have to be. Addresses T90298.
2021-10-26Geometry Nodes: Handle multiple grids in the volume to mesh nodeHans Goudey
In future use cases, a volume can contain many grids that represent the density information. In this case, it's better if the volume to mesh node creates a mesh based on all of the grids in the volume. This is also a benefit to share-ability, since one doesn't have to specify the grid name in the node. Instead, in the future we can have a way to split particular grids into separate volumes, if only one grid should be considered. The code changes are relatively simple: - Move the old volume to mesh node to the legacy folder. - Run the volume to mesh node on all instance geometry, like elsewhere. - Make the blenkernel's volume to mesh API a bit more specific. Differential Revision: https://developer.blender.org/D12997
2021-10-26Geometry Nodes: support viewing field values in spreadsheetJacques Lucke
The viewer node has been expanded to have a field input next to the geometry input. When both are connected (by ctrl+shift clicking on a node) the spreadsheet will show the evaluated field on the geometry. The operator to link to the viewer has become a bit smarter. It automatically detects if it should link to the geometry or field input. In the future some more smartness could be added, such as automatically relinking the "right" geometry when viewing a field. Internally, there are two major changes: * Refactor of what happens when ctrl+shift clicking on a node to link to a viewer. The behavior of the geometry nodes viewer is a bit more complex than that of the compositor viewers. The behavior in compositing nodes should not have changed. Any change should be reported as a bug (and then we can decide if it's worse than before or if it needs fixing). * Evaluation, display and caching of fields in the spreadsheet editor. Differential Revision: https://developer.blender.org/D12938
2021-10-26XR: Versioning for session draw flags, base scalePeter Kim
2021-10-26UI: Change node editor grid into a dot gridHans Goudey
This patch makes the background grid of the node editor a grid of dots instead of lines. This makes the background look a bit more subtle and reduces visual complexity. The dots are meant to provide a reference when panning and zooming. Based on the design of @pablovazquez, and a patch originally authored by @fabian_schempp. The "Grid Levels" controls how many levels of dots are drawn. As the editor zooms in, the higher levels of dots fade in, making them closer together visually. The zoom factor at which each grid starts and ends fading in is controllable in the code, and could be tweaked further in the future. The new default value is 7, out of a range from 0 to 9. Differential Revision: https://developer.blender.org/D10345
2021-10-25Assets: Snapping with visual feedback while draggingGermano Cavalcante
The drag and drop feature of objects in 3D View has been modified to include: - Snap the object being dragged. - Visual feedback through a box and the placement tool grid. Maniphest Tasks: T90198 Differential Revision: https://developer.blender.org/D12912
2021-10-25Fix: crash in previously added versioning codeJacques Lucke
2021-10-25Geometry Nodes: use vector socket for offset in Set Position nodeJacques Lucke
This replaces the boolean Offset input in the Set Position node with a vector input. This makes the node easier to use. Using a "Position" input as an "Offset" sounds wrong anyway. The Position and Offset inputs are evaluated at the same time. The versioning only works correctly when the Offset input was not connected to something else before. Differential Revision: https://developer.blender.org/D12983
2021-10-24Geometry Nodes: Rename node "String Substring"Erik Abrahamsson
This patch renames the node "String Substring" to "Slice String" to conform to the "verb first" naming convention. Default length is also changed to 10 to make it easier for users to understand what the node does. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12931
2021-10-23Asset Browser: Filter options for specific ID typesJulian Eisel
Adds a filter popup to the header that allows specifiying which data-block types to show. The menu automatically reflects all supported ID types, so it shows a checkbox for materials, worlds and actions currently by default, and all ID types with the "Extended Asset Browser" experimental feature enabled.
2021-10-22Increase assert epsilon in versioning for D9551.Alexander Gavrilov
The epsilon was too optimistic. Snapping to hard-coded (0,-1,0) at singularity should produce max delta 0.0005, but double it to be safe. This only affects debug builds obviously.
2021-10-22Fix T90638: Inconsistent object data behavior when link-duplicating collections.Bastien Montagne
Camera, lattice and speaker object types were missing there own proper `USER_DUP_` flags, leading to not properly handling duplication of their object data. NOTE: We could probably simply opions here, by using categories (like 'GEOMETRY', 'SHADING', etc.) instead of exact object types. But this is beyond bugfix scope.
2021-10-21Node Editor: Introduce color overlay and dashed wires theme settingPablo Vazquez
This patch includes code from D9891 and D12754, so credit goes to Juanfran and Dalai. I updated the patches to work with `master` and with the new overlay toggle. The reason to include both changes as part of one patch is that the dimmed dashed lines work much better together with colored wires. Theme setting for dash opacity: {F11370574, size=full} {F11286177, size=full, autoplay, loop} {F11149912, size=full} For adding the overlay I used `SpaceImageOverlay` as reference, although I'm not familiar with this code so there might be mistakes. Reviewed By: #user_interface, HooglyBoogly Differential Revision: https://developer.blender.org/D12886
2021-10-21Geometry Nodes: Update bounding box to work on individual instancesHans Goudey
This commit makes the bounding box node work on each unique geometry (including instances) individually instead of making one large bounding box for everything. This makes the node much faster, and is often the desired result anyway. For the old behavior, a realize instances node can be used in front of this node (versioning adds it automatically). The min and max outputs now only output the values from the realized geometry. Differential Revision: https://developer.blender.org/D12951
2021-10-21Suppress the unused parameter warning from D9551.Alexander Gavrilov
The parameter is only used in an assert.
2021-10-21IDManagement: Add option to clear asset data when making ID local.Bastien Montagne
When appending an asset from the asset browser, its asset data needs to be cleared. However, linking an asset (or regular append from the file browser) should not clear such data. In linking case, it would be there again after a blend file reload anyway. So this commit introduces a new `BLO_LIBLINK_APPEND_ASSET_DATA_CLEAR` option. NOTE: in case the appended ID needs to be copied from its linked data (instead of making the later directly local), asset data is lost anyway since it is never copied with the ID currently. Ref. {T91749} and D11768.
2021-10-21LibLink: ensure objects are selectable when "Select" is enabledCampbell Barton
Appended objects could be hidden, making any further operations potentially skip the newly added objects. Now FILE_AUTOSELECT asserts when newly added options aren't selectable.
2021-10-21Cleanup: de-duplicate function to instantiate objectsCampbell Barton
De-duplicates wm_append_loose_data_instantiate_object_base_instance_init and object_base_instance_init. Add BLO_object_instantiate_object_base_instance_init which also adds to a collection since all callers did this.
2021-10-20Fix T92367: missing Subsurface Anisotropy and IOR sockets with factory startupBrecht Van Lommel
2021-10-20Fix precision issues and a bug in vec_roll_to_mat3_normalized.Alexander Gavrilov
When the input vector gets close to -Y, y and theta becomes totally unreliable. It is thus necessary to compute the result in a different way based on x and z. The code already had a special case, but: - The threshold for using the special case was way too low. - The special case was not precise enough to extend the threshold. - The special case math had a sign error, resulting in a jump. This adds tests for the computation precision and fixes the issues by adjusting the threshold, and replacing the special case with one based on a quadratic Taylor expansion of sqrt instead of linear. Replacing the special case fixes the bug and results in a compatibility break, requiring versioning for the roll of affected bones. Differential Revision: https://developer.blender.org/D9551
2021-10-20Cleanup: spelling in commentsCampbell Barton
2021-10-19Fix T92224: Refactor of append code unexpectedly changed behavior with ↵Bastien Montagne
'localize all' off. In 2.93 and before, when appending wityh 'localize all' off, all linked IDs (including indirectly linked ones) from initial library would be made local. In 3.0, after refactor from rB3be5ce4aad5e, only directly linked IDs (i.e. user-selected IDs) would be made local. This change was not intentional (result of confusing code and naming in previous implementation), and old behavior is used in some workflows to control which data is kept linked and which data is made local. This commit revert to 2.93 behavior. NOTE: there is still an (extreme) corner case where behavior is different between 2.93 and 3.0: If you append (at the same time) object A from LibA.blend, and object B from LibB.blend, and object B uses somehow a material from LibA.blend: * In 2.93, that material would have been made local (because it belonged to one of the 'initial' libraries, even though not the initial lib of object B). * In 3.0, this material will remain linked, since from object B persective it comes from a different library.
2021-10-19Geometry Nodes: Remove implicit realizing and conversionHans Goudey
This commit removes the implicit conversion from points to a mesh that used to happen before the next modifier. It also removes the implicit realizing of instances that happened before another modifier. Now we have specific nodes for both of these operations, the implicit conversions make less sense, and implicit instance realizing has already been removed in other nodes. This adds another geometry nodes modifier before modifiers that would have realized instances implicitly before. Currently adding another data-block during versioning after linking means that an assert needs to be changed. That should be made unnecessary by T92333. Differential Revision: https://developer.blender.org/D12722
2021-10-19Render: change view layer name convention to ViewLayer_001 to avoid OpenEXR ↵Brecht Van Lommel
issues Some compositing applications do not support spaces and dots in layer names, and change these to other symbols on import. This causes various compatibility issues, including with Cryptomatte metadata. While technically those could be considered bugs in the Cryptomatte implementation of other software, where they are not properly accounting for that layer renaming, it's not ideal. The OpenEXR channel naming convention is "layer.pass.channel". We get away with dots in the layer name since we parse this from right to left, but it's a weak assumption. Now we don't forbid using spaces or dots, and existing files are unchanged. But at least by default names will be compatible, and hopefully other software catches up in time to support more flexible layer names. Ref T68924
2021-10-19Cleanup: use 'e' prefix for enum typesCampbell Barton
2021-10-18Cleanup: spelling in commentsCampbell Barton
2021-10-17UI: Visual style update to panelsPablo Vazquez
Back in Blender 2.30, the GUI project brought panels into Blender among other important visual updates. For the first time it was possible to move the wall of buttons around. Providing a clear separation between sections (it even allowed the grouping of panels in tabs!) During the 2.5 redesign, the separation between panels became a line on top of each panel, and panels received theme settings for background and header colors. The default theme used the same color for both. In 2.8 the background color of panels was different from headers in the default theme, so the separator line was removed. While the separator line wasn't elegant (only on top, non-themeable, hard-coded emboss effect), it provided a sort of separation between panels. This patch solves the panels-separation by simply adding a margin space around them (not visible in default theme yet). Even though the margin reduces the width of the working area slightly, it makes room for the upcoming always-visible scrollbars. Other adjustments: * Use arrow icon instead of triangle to collapse/expand * Use rounded corners to match the rest of the UI (editor corners, nodes, etc). {F10953929, size=full} Margin on panels makes use of the `style->panelouter` property that hasn't been used in a while. Also slight tweaks to `boxspace` and `templatespace` style properties so they are multiples of 2 and operations on them round better. There is technically no need to update the themes for them to work, so no theme changes are included in this patch. {F10953931, size=full} {F10953933, size=full} {F10953934, size=full} {F10954003, size=full} ---- A new theme setting under Style controls the roundness of all panels (added it to Style instead of ThemeSpace because I think controlling the panel roundness per editor is a bit overkill): {F11091561, size=full, autoplay, loop} Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12814
2021-10-16VSE: Hide tool header by defaultRichard Antalik
Tools currently used by VSE don't have much useful settings, but they use a lot of space. Therefore these headers will be hidden by default. Property `show_region_tool_header` was added to view menu to enable tool settings. This could be resolved by region overlap, but it isn't working well currently. Differential Revision: https://developer.blender.org/D12875
2021-10-16Fix versioning for sequencer color balance modifier.Josef Raschen
Commit 213554f24a17 added slope/offset/power controls to the sequencer color balance modifier, but colors in this mode were not initialized with old files. Initialize colors to default values. Reviewed By: ISS Differential Revision: https://developer.blender.org/D12806
2021-10-15Fix wrong DNA struct element lookup in versioningJulian Eisel
The type of the element is `short`, not `int`. Harmless since this was checking for a specific version anyway.