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-02Cleanup: clang-tidyCampbell Barton
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-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-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-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.
2021-10-14Geometry Nodes: Rename Nodes ID Names + Menu OrgJohnny Matthews
Re-alphabetize the main add menu. Rename Node ID Names: FloatCompare => CompareFloats AttributeCapture => CaptureAttribute Boolean => MeshBoolean CurveFill => FillCurve CurveFillet => FilletCurve CurveReverse => ReverseCurve CurveSample => SampleCurve CurveResmaple => ResampleCurve CurveSubdivide => SubdivideCurve CurveTrim => TrimCurve MaterialReplace => ReplaceMaterial MeshSubdivide => SubdivideMesh EdgeSplit => SplitEdges Differential Revision: https://developer.blender.org/D12865
2021-10-14Cleanup: avoid using size for array length in namingCampbell Barton
Confusing when array allocation takes two kinds of size arguments.
2021-10-13Geometry Nodes: Material Index - minor cleanupJohnny Matthews
- Add a versioning comment - Indexes to Indices
2021-10-13Geometry Nodes: Material Index, Set MaterialJohnny Matthews
Add Get/Set Nodes for Material Index Rename Assign Material to Set Material Differential Revision: https://developer.blender.org/D12837
2021-10-12Fix T91809: Crash on undo with empty field inferencingHans Goudey
Some runtime data that stores which sockets can be fields and which can't is not stored in the file, but only calculated when necessary. When opening a file, the node tree update function was called, which recalculated this data, but that was explicily turned off for undo. This exposes a fundamental issue with undo, the ID caching system for undo, and how it relates to node trees in particular. Ideally this call couldn't be necessary at all. In the future it could be removed by adding a runtime struct to node trees, and calculating its contents on-demand instead of preemtively. Differential Revision: https://developer.blender.org/D12699
2021-10-11Cycles: restore Christensen-Burley SSSBrecht Van Lommel
There is not enough time before the release to improve Random Walk to handle all cases this was used for, so restore it for now. Since there is no more path splitting in cycles-x, this can increase noise in non-flat areas for the sample number of samples, though fewer rays will be traced also. This is fundamentally a trade-off we made in the new design and why Random Walk is a better fit. However the importance resampling we do now does help to reduce noise. Differential Revision: https://developer.blender.org/D12800
2021-10-08User Interface: Use theme alpha for the nodes frames backgroundDalai Felinto
This bump subversion.
2021-10-08Cleanup: remove deprecated SEQ_DRAW_SEQUENCE valueCampbell Barton
While drawing cleared this value (as part of temporary fix from 2009), this was still being checked until recently. Remove this value in versioning code. Also clear unused text space flag.
2021-10-06Fix T91987: Linking overrides does not apply overrides rules.Bastien Montagne
Just a matter of calling `BKE_lib_override_library_main_update` in `library_link_end`.
2021-10-03Cleanup: spelling in commentsCampbell Barton
2021-10-03Geometry Nodes: Switch Node Fields Updateguitargeek
This update of the Switch node allows for field compatible types to be switched through the node. This includes the following: Float, Int, Bool, String, Vector, and Color The remaining types are processed with the orginal code: Geometry, Object, Collection, Texture, and Material Because the old types require a diffent "switch" socket than the field types, versioning for old files is included to move links of those types to a new switch socket. Once fields of other types are supported, this node can be updated to support them as well. Differential Revision: https://developer.blender.org/D12642
2021-10-01Fix T87189: Copy/pasting IDs does not handle properly instantiation.Bastien Montagne
Copy/Paste uses its own code path for ID linking, which was not setting `LIB_TAG_DOIT` for proper instantiation later on. Would be nice the make this logic closer to the rest of the link/append code at some point, but for now this fix will do.
2021-10-01Fix paste code linking 'direct' IDs with 'INDIRECT' flag.Bastien Montagne
No idea why this was done that way (it originate from initial paste commit, rB12b642062c6f). But the IDs 'selected' as direct paste in `BLO_library_link_copypaste` should be 'directly' linked, it's similar case to actual append of selected IDs by the user. Related to T87189.
2021-10-01Append: Fix appended objects potentially auto-instantiated in more than one ↵Bastien Montagne
collection. Related to T87189.