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-09-28Geometry Nodes: viewport previewJacques Lucke
This adds support for showing geometry passed to the Viewer in the 3d viewport (instead of just in the spreadsheet). The "viewer geometry" bypasses the group output. So it is not necessary to change the final output of the node group to be able to see the intermediate geometry. **Activation and deactivation of a viewer node** * A viewer node is activated by clicking on it. * Ctrl+shift+click on any node/socket connects it to the viewer and makes it active. * Ctrl+shift+click in empty space deactivates the active viewer. * When the active viewer is not visible anymore (e.g. another object is selected, or the current node group is exit), it is deactivated. * Clicking on the icon in the header of the Viewer node toggles whether its active or not. **Pinning** * The spreadsheet still allows pinning the active viewer as before. When pinned, the spreadsheet still references the viewer node even when it becomes inactive. * The viewport does not support pinning at the moment. It always shows the active viewer. **Attribute** * When a field is linked to the second input of the viewer node it is displayed as an overlay in the viewport. * When possible the correct domain for the attribute is determined automatically. This does not work in all cases. It falls back to the face corner domain on meshes and the point domain on curves. When necessary, the domain can be picked manually. * The spreadsheet now only shows the "Viewer" column for the domain that is selected in the Viewer node. * Instance attributes are visualized as a constant color per instance. **Viewport Options** * The attribute overlay opacity can be controlled with the "Viewer Node" setting in the overlays popover. * A viewport can be configured not to show intermediate viewer-geometry by disabling the "Viewer Node" option in the "View" menu. **Implementation Details** * The "spreadsheet context path" was generalized to a "viewer path" that is used in more places now. * The viewer node itself determines the attribute domain, evaluates the field and stores the result in a `.viewer` attribute. * A new "viewer attribute' overlay displays the data from the `.viewer` attribute. * The ground truth for the active viewer node is stored in the workspace now. Node editors, spreadsheets and viewports retrieve the active viewer from there unless they are pinned. * The depsgraph object iterator has a new "viewer path" setting. When set, the viewed geometry of the corresponding object is part of the iterator instead of the final evaluated geometry. * To support the instance attribute overlay `DupliObject` was extended to contain the information necessary for drawing the overlay. * The ctrl+shift+click operator has been refactored so that it can make existing links to viewers active again. * The auto-domain-detection in the Viewer node works by checking the "preferred domain" for every field input. If there is not exactly one preferred domain, the fallback is used. Known limitations: * Loose edges of meshes don't have the attribute overlay. This could be added separately if necessary. * Some attributes are hard to visualize as a color directly. For example, the values might have to be normalized or some should be drawn as arrays. For now, we encourage users to build node groups that generate appropriate viewer-geometry. We might include some of that functionality in future versions. Support for displaying attribute values as text in the viewport is planned as well. * There seems to be an issue with the attribute overlay for pointclouds on nvidia gpus, to be investigated. Differential Revision: https://developer.blender.org/D15954
2022-09-28Cleanup: Rename variablesAntonio Vazquez
2022-09-28GPencil: Fix unreported bug for fill closing strokesAntonio Vazquez
The extend lines were included in render by error when the only collide option was ON.
2022-09-28GPencil: Fix compiler warningAntonio Vazquez
2022-09-28Fix compiler warnings with clangBrecht Van Lommel
This attribute only works on functions in clang, not function pointers.
2022-09-28GPencil: Fill Tool - Check if extensions collide with real strokesAntonio Vazquez
This commit is an improvement in the previous fill tool changes in order to improve how the extended strokes are managed. * Now, the algorithm checks if the extend cross a standard stroke, not only extend strokes. * Option to enable or disable the stroke cross checking because this can be slow in very complex scenes. * Added `D` key to toggle stroke cross option. * Option to use only collide strokes to be used as fill limit. If the option to use only collide strokes is enabled, the open extensions are in different color. * Status text now shows mode and the actual extend factor. This commits also contains a refactor of the loops to use arrays as much as possible. Reviewed By: mendio, pepeland Differential Revision: https://developer.blender.org/D16052
2022-09-28Cleanup: decentralize .blend I/O for space typesKévin Dietrich
This adds callbacks to `SpaceType` to make each editor responsible to manage their own .blend I/O, and moves relevant code from `screen.c` to the editors files. Differential Revision: D11069
2022-09-28Fix GC tracking error for instances of mathutils typesCampbell Barton
Mathutils types were always GC tracked even when it wasn't intended. Not having to track objects speeds up Python execution. In an isolated benchmark created to stress test the GC creating 4-million vectors (re-assigning them 100 times), this gives an overall ~2.5x speedup, see: P3221. Details: Since [0] (which added support for sub-classed mathutils types) tp_alloc was called which defaults to PyType_GenericAlloc which always GC tracked the resulting object when Py_TPFLAGS_HAVE_GC was set. Avoid using PyType_GenericAlloc unless the type is sub-classed, in that case the object is un-tracked. Add asserts that the tracked state is as expected before tracking & un-tracking, to ensure changes to object creation don't cause objects to be tracked unintentionally. Also assign the PyTypeObject.tp_is_gc callback so types optionally GC track objects only do so when an object is referenced. [0]: fbd936494495d0de54eef24a97957e000306785f
2022-09-28Fix T101341: make nodegroups active input/output non-animatablePhilipp Oeser
Active UI list index is usually not animatable. Here specifically, the active list index is oly used for operators acting on a specific (active) socket. Note other props here were already made non-animatable in rB1d3b92bdeabc. Maniphest Tasks: T101341 Differential Revision: https://developer.blender.org/D16077
2022-09-28Fix T101414: in 3d viewport, smart uv project failed to packChris Blackbourn
Regression from https://developer.blender.org/rBa5c696a0c2b9
2022-09-28Cleanup: spelling in commentsCampbell Barton
Also add missing task ID.
2022-09-28Cleanup: formatCampbell Barton
2022-09-28Cleanup: compiler warningsCampbell Barton
2022-09-28Correct sign conversion errors in convexhull_2d.cCampbell Barton
2022-09-28Cleanup: improve 2D convex hullChris Blackbourn
Improve correctness, API, comments, memory usage and performance of the 2D convex hull calculation. Pre-requisite for UV packing improvements. Differential Revision: https://developer.blender.org/D16055
2022-09-27Fix T101348: Sculpt smooth brush artifacts with hidden facesHans Goudey
The brush mixed up the vert and poly hide layers.
2022-09-27Fix: Assert in legacy mesh conversionHans Goudey
When setting the old face set custom data type, do it in the "layers to write" vector instead of the mesh's poly custom data layers, which weren't "prepared" yet. Otherwise this could make the mesh's custom data typemap invalid.
2022-09-27Cleanup: Use signed integers for mesh vertex indicesHans Goudey
2022-09-27Cleanup: Use variable and const for sculpt mesh vertex to poly mapsHans Goudey
2022-09-27WM: Support opening backup .blend files via drag-dropPablo Vazquez
Add support for opening Blender backup `.blend` files (`.blend1`, `.blend2`, etc) by dropping them into the window, just like regular .blend files. {F13393482, size=full} Reviewed By: Severin Differential Revision: https://developer.blender.org/D15700
2022-09-27Gpencil: Time Offset modifier new Chain modeAleš Jelovčan
This patch adds 5th mode to Time offset modifier, which should allow to create time segments list. This will allow users to chain together multiple time ranges in 4 modes: - Forward - Backwards - Pingpong - Reverse Pingpong It also comes with additional Repeat parameter which specifies number of times particular segment should run. The mechanic of it is transforming initial parameters into array of frames which are mapped to existing cfra (current frame) value. Prototype : https://jsfiddle.net/ha2sjw8p/3/ This is also closely aligned to community request: https://blender.community/c/rightclickselect/Txhbbc/ This should allow creation of complex animations like dancing, which consists of repeating loops and transitions to the next. One important side effect of this is dramatically reduced file sizes, as user no longer needs to copy paste keyframes. Reviewed By: antoniov, mendio, pepeland Differential Revision: https://developer.blender.org/D15052
2022-09-27BLF: Editing Text with Combining CharactersHarley Acheson
Corrections for caret insertion & movement and deletion for text strings that include non-precomposed diacritical marks (Unicode combining characters). See D15659 for more details and examples. Differential Revision: https://developer.blender.org/D15659 Reviewed by Campbell Barton
2022-09-27View3D: move view3d_draw.c to c++Jacques Lucke
2022-09-27GPencil: New Outline modifierAntonio Vazquez
This modifier converts any stroke (no fill strokes) into perimeter from camera view. Also, it's possible to define an alternative material for the outline. There is an option to include a target object to manipulate the start point of the strokes. The start point will be the nearest point to the target object. Reviewed By: mendio, frogstomp Maniphest Tasks: T100826 Differential Revision: https://developer.blender.org/D15882 Note: Icon will be updated in T101155
2022-09-27Fix T101231: Console flooded with warnings when fluid type is DomainGermano Cavalcante
Although rB67e23b4b2967 turned the problem more recurrent, the warning messages in the console always appear when `BKE_fluid_cache_free_all` is called. This is because of a bug in `BLI_filelist_dir_contents` as this function calls `BLI_strdupcat` instead of `BLI_join_dirfile` NOTE: Other places in Blender avoid this problem by making sure to add a `SEP_STR` to the end of the directory. Differential Revision: https://developer.blender.org/D16043
2022-09-27Fix T101393: Vertex Crease operator does not create vertex crease layerPhilipp Oeser
Typo in rBa8a454287a27 (created layer on edge data instead of vertex data). Maniphest Tasks: T101393 Differential Revision: https://developer.blender.org/D16079
2022-09-27Fix: GPencil animated layer transforms evaluate wrong when identityPhilipp Oeser
Due to (optimization) checks in in `BKE_gpencil_prepare_eval_data` & `BKE_gpencil_update_layer_transforms`, updates were skipped if animation reached exact identity transforms. Now check if the matrix has changed additionally to gain proper updates. Unsure if this is the cheapest way to check for the animated state of layer transforms tbh, but I see similar checks elsewhere. Fixes T101164. Maniphest Tasks: T101164 Differential Revision: https://developer.blender.org/D16018
2022-09-27Fix curves sculpting in deformed space when using Subdivide nodePhilipp Oeser
Needs a call to remember_deformed_curve_positions_if_necessary, missed in rB1f94b56d7744. Thx @JacquesLucke for the solution! Differential Revision: https://developer.blender.org/D16078
2022-09-27Fix T101272: Missing view layer updates handling collections via python.Jeroen Bakker
Fixed by ensuring the view layer is up to date.
2022-09-27Cleanup: Fix brace-scalar-init warningSergey Sharybin
2022-09-27GHOST: exit with an error when GHOST cannot be initializedCampbell Barton
When the GHOST back-end Blender was built with isn't supported, Blender would crash on startup without any useful information. This could happen when building X11 only, then running on Wayland. Now show a list of the GHOST back-ends that were attempted and exit with an error code instead of crashing.
2022-09-27Cleanup: formatCampbell Barton
2022-09-27Fix T101361: Collapsed multi-input sockets not collapsing noodlesIliya Katueshenock
Caused by 40d815dff651, which removed the check for "hidden" nodes. Differential Revision: https://developer.blender.org/D16061
2022-09-27Scew Modifier: Remove eager normal calculationHans Goudey
The screw modifier calculated normals eagerly (whether or not the next modifier actually used them). However, this was incorrect and set invalid normals. It isn't necessary because they can be calculated later anyway. The potential performance improvement isn't worth the complexity or maintenance burden. Fixes T101075 Differential Revision: https://developer.blender.org/D16073
2022-09-27GPU: Fix crash when rendering with compositor using CLIClément Foucault
The backend gets used before it is initialized again. This is just a workaround for now as production schedule needs ir.
2022-09-27GPU: Revert part of D16017 that was accidentally commitedClément Foucault
This code slipped through the final review step surely caused by a faulty merge. Fixes T101372 Regression: World shader setup crashes Blender in rendered view Regression introduced by rB697b447c2069bbbbaa9929aab0ea1f66ef8bf4d0
2022-09-27Cleanup: remove workarounds and version checks for unsupported compilersCampbell Barton
Match minimum supported versions from the WIKI [0] by raising them to: - GCC 9.3.1 - CLANG 8.0 - MVCS 2019 (16.9.16 / 1928) Details: - Add CMake checks that ensure supported compiler versions early on. - Previously GCC per-processor version checks served to exclude `__clang__`, in some cases this has been replaced by explicitly excluding `__clang__`. This was needed as CLANG treated some of these flags differently to GCC, causing the build to fail. - Remove USE_APPLE_OMP_FIX GCC-4.2 OpenMP workaround. - Remove linking error workaround for old MSVC versions. [0]: https://wiki.blender.org/wiki/Building_Blender Reviewed by: brecht, LazyDodo Ref D16068
2022-09-26UI: add preference to disable touchpad multitouch gesturesrecht Van Lommel
Available on Windows and macOS, where such gestures are supported. For Windows, disabling this option restores touchpad behavior to match Blender 3.2. Ref T97925 Differential Revision: https://developer.blender.org/D16005
2022-09-26Fix: Incorrect handling for crease layersHans Goudey
First, there can only be one crease layer, so remove the "default name", since apparently that's how CustomData tests for that (see `CustomData_layertype_is_singleton`). Second, always propagate crease data because it can be used in arbitrary situations by geometry nodes. That also has to be done for all generic attribute layers. Fixes T101340, T101373
2022-09-26Fix T101365: saving second view layer as (non-Multilayer) OpenEXR does not workBrecht Van Lommel
2022-09-26Fix build errors and warnings after recent changes, when not using Unity buildBrecht Van Lommel
2022-09-26Geometry Nodes: Miscellaneous changes in control point neighbors nodeHans Goudey
- Use const and whitespace more consistently - Fix "Offset Valid" output only working on point domain - Use the smallest output array that can contain the result. - Consistent include ordering - Use "data-block" term instead of "object" in tooltip - Remove unnecessary call to set default output values
2022-09-26Geometry Nodes: Control Point Neighbors NodeJohnny Matthews
This node allows access to the indices of neighboring control points within a curve via an offset. This includes taking into consideration curves that are cyclic. Differential Revision: D13373
2022-09-26Fix typo and and incorrect property initializationGermano Cavalcante
Error in rB236fda7faf58
2022-09-26Fix T101343: useless Snapping menu in transform operatorsGermano Cavalcante
Changes: - Use the "snap_elements" property only for operators that support snapping to geometry. - Remove unused properties: - "use_snap_to_same_target", - "snap_face_nearest_steps"). - Fix property with wrong name "use_snap_selectable_only" -> "use_snap_selectable" - Fix use of dependent property flags. - Remove redundant initialization of variables - Simplify `poll_propety`. Only the "use_snap_project" is not hidden. >>! In rBc484599687ba it's said: > These options are needed for Python tools to control snapping without requiring the tool settings to be adjusted. If that's the case, there doesn't seem to be any need to display them in the redo panel. Therefore: - Hide snapping properties in redo panel. Many properties have been added that can be independent of ToolSettings. Therefore: - Save snapping properties in the operator itself. For Redo.
2022-09-26Asset Browser: Add slider UI to pose blendingAngus Stanton
Add the Slider UI to pose blending. This adds a slider with percentages, and controls for precision control and incremental control. Reviewed By: sybren Maniphest Tasks: T90182 Differential Revision: https://developer.blender.org/D14984
2022-09-26Cleanup: format, ensure trailing newlinesCampbell Barton
2022-09-26Cleanup: restore parenthesis removed in recent commitCampbell Barton
Partial revert [0], removed by accident because the -fpermissive flag was enabled with collada. [0]: 34477bbfcde34d0b27f04eccdddd0a093d8be1c0
2022-09-26Fix: bump subversion to avoid corrupted filesJacques Lucke
Replacing the transfer node breaks forward compatibility, so a version bump is necessary to get a warning in older versions.
2022-09-26Fix crash in Solidify modifier with Inner CreaseSergey Sharybin
Since a8a454287a27 the simple case would crash: - Add place - Add Solidify modifier - Set Inner Crease to something non-zero Seems to be a mistake in the logic which was trying to access existing custom data layer on a clean result while it is more logical to create the layer. Was initially reported by the studio who could not open production files after the change.