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-05-22Cleanup: Use const argumentsHans Goudey
2022-05-22Cleanup: Remove unused functionHans Goudey
Mesh "MFace" is deprecated and shouldn't be used in any new code anyway.
2022-05-22Cleanup: fix wrong typeJacques Lucke
It's a bit surprising that this compiled. That's probably due to the `GField` constructor, to be investigated!
2022-05-22GPU subdiv: smoothly interpolate orco layerKévin Dietrich
This uses the recently introduced evaluator's vertex data to smoothly interpolate original coordinates instead of using linear interpolation. The orcos are interpolated at the same time as positions and as such, the specific subdivision routine for the orco extractor has been removed. The patch evaluation shader uses a definition to enable code specific to orco evaluation. Since the orco layer may not have been requested on first render, and since orco data is now stored in the OpenSubDiv evaluator, the evaluator needs to be recreated if an orco layer is suddenly available. For this, a callback to check if the evaluator has the data was added. This is added to the evaluator as the `Subdiv` cache stored in the modifier is invalidated less often than the Mesh batch cache and so leads to fewer evaluator recreations. Differential Revision: https://developer.blender.org/D14999
2022-05-21Cleanup: Remove unused scrollbar drawing flagJulian Eisel
Apparently this was used for progressbar drawing, which doesn't share the code anymore.
2022-05-21UI Code Quality: Resolve frankenstein bit-flag usage for widget drawingJulian Eisel
Previously we would pass button state and draw information to widget draw callbacks in a rather hacky way. Some specific flags from `uiBut.flag` were masked out, so their bits could be reused for also passing `uiBut.drawflag` in the same int. Instead this commit introduces a state-info struct that can properly hold all the relevant data. This has the advantage that it's now easier to introduce new state data that needs to be accessible in the widget callbacks. Since we are running out of button flags, we plan to reorganize button flags, and split them up into multiple bitfields. In the widget drawing code, this would have been a hassle earlier. Also had to add a new widget callback to draw blocks as widgets (popup backgrounds), since that would pass block flags where we would usually pass button flags. This wasn't nice, now it's separated more clearly.
2022-05-20Geometry Nodes: String to Curves rename Max WidthErik
This patch changes the Text Box Width socket to always have that label instead of switching to "Max Width" when Overflow mode is picked. Bug report: T97060 Differential Revision: https://developer.blender.org/D14909
2022-05-20UI: rename Hue/Saturation node to Hue Saturation Value in shaders and texturesDaniel Salazar
This makes it easier to search for and consistent with compositor nodes. Differential Revision: https://developer.blender.org/D14914
2022-05-20UI: Get rid of redundant UI_BUT_IMMEDIATE button flagJulian Eisel
This flag was used to activate the hotkey input buttons (e.g. for "Assign Shortcut") when opened in a popup. Since this was added, other more generalized ways of getting this same behavior were implemented. Had to tweak the hotkey button event handling a bit, but it seems to behave exactly as before now.
2022-05-20Cleanup: don't use variable name that matches type aliasJacques Lucke
2022-05-20Cleanup: Further simplification of loop syntax for curve segmentsHans Goudey
The same changes as 019681b9841d7e34bac56211d645cf0497f8e9cf.
2022-05-20Curves: Use only current brush location for delete brushHans Goudey
Currently the delete brush and some other brushes use the line segment from the current brush position to the previous position to find curves to interact with. However, this doesn't work well with more advanced stroke settings that purposefully use non-contiguous brush sample locations. This commit makes the delete brush only use the current sample location. Differential Revision: https://developer.blender.org/D14992
2022-05-20Curves: Support pressure in sculpt brushesHans Goudey
Multiply the radius and strength of sculpt brushes by the pressure when "use pressure" is turned on. The brush system isn't responsible for this, so the pressure needs to be stored in `StrokeExtension`. Differential Revision: https://developer.blender.org/D14996
2022-05-20LibOverride: Add option to Hierarchy Creation to get all data user-editable ↵Bastien Montagne
by default. Avoids having to manually enable data-blocks for user-edition when you do not care about what should be edited by whom. Similar to default behavior before introduction of system overrides (aka non-user-editable overrides).
2022-05-20Cleanup: Simplify loop syntax for curve pointsHans Goudey
2022-05-20Merge branch 'blender-v3.2-release'Hans Goudey
2022-05-20Fix T98266: Crash with empty mesh boolean nodeHans Goudey
The output mesh can be null. Also reorganize the WITH_GMP check to avoid compiling the rest of the node with GMP off.
2022-05-20Merge branch 'blender-v3.2-release'Hans Goudey
2022-05-20Fix T96810: Bitmap race condition in PBVH normal calculationHans Goudey
The final normalization step of sculpt normal calculation iterates over all unique vertices in each node and marks them as done. However, storing the done mask in a bitmap meant that multiple threads could write to a single byte at the same time, because the bits for separate threads could be stored in the same byte. This is not threadsafe Fixing this issue seems to improve performance as well. First I tested just clearing the entire bitmap after the normal calculation. Then I tested using an array of booleans instead, which turned out to be slightly better, and simplifies code a bit. I tested on a Ryzen 3800x, on an 8 million polygon subdivided Suzanne by using the grab brush with a radius large enough to affect most of the mesh. | Original | Clear Entire Bitmap | Boolean Array | | --------- | ------------------- | ------------- | | 67.9 ms | 59.1 ms | 57.9 ms | | 1.0x | 1.15x | 1.17x | Differential Revision: https://developer.blender.org/D14985
2022-05-20Cleanup: make functions for setting clone/stencil layer more consistentMartijn Versteegh
This was missing in rBf1beb3b3f60be45854285935d6bfcedf839b317c. Differential Revision: https://developer.blender.org/D14991
2022-05-20Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-20Fix popup menu memory activating labels when names matched menu itemsCampbell Barton
When labels in popups (typically headings) matched the name of a button, the label would be activated instead of the button. This caused the unwrap menu in the UV editor not to re-select "Unwrap" when opening a second time.
2022-05-20WM: return the string length from operator name conversionCampbell Barton
- In some cases it avoids using strlen on the result. - Use ATTR_NONNULL for all arguments. - Remove NULL pointer check for WM_operator_bl_idname src argument. - Rename from/to to src/dst.
2022-05-20Cleanup: warnings, spelling, formattingCampbell Barton
Avoid multiple `sound.bl_rna.properties["channels"].enum_items` in the same line. Note we might want a way to avoid having to do this.
2022-05-20CMake: fix AUDASPACE disabling WITH_PYTHON for BlenderCampbell Barton
When AUDASPACE couldn't find NUMPY, it would disable WITH_PYTHON for the rest of Blender. Now setting the value globally is only done for standalone AUDASPACE builds. Now it's possible to build Blender with AUDASPACE & PYTHON but without NUMPY. While this isn't an especially important configuration to support, having Python mysteriously disabled is a hassle to troubleshoot. NOTE: extern/audaspace/CMakeLists.txt has become out sync with the original [0], it seems this is being maintained in our repository. [0]: https://github.com/neXyon/audaspace/blob/master/CMakeLists.txt
2022-05-20Fix building with OpenEXR on LinuxCampbell Barton
2022-05-20IMBUF: Thumbnails of all EXR files using less RAMHarley Acheson
Specialized thumbnailing function to create previews of all EXR image files, regardless of type, size, or dimensions. Uses less RAM by only loading a single row of pixels at a time. See D14663 for more details and examples. Differential Revision: https://developer.blender.org/D14663 Reviewed by Brecht Van Lommel
2022-05-19VSE: Display sound sample rate and channelsMarcos Perez
Display information about sound media in "Source" category in side panel similar to movie resolution and framerate. The specs are stored in the `Sequence` struct, and are extracted at the moment of struct creation. If the "source file" is changed, the specs change also. Reviewed By: ISS Differential Revision: https://developer.blender.org/D14565
2022-05-19GPencil: Avoid Automerge with Closed strokesAntonio Vazquez
The algorithm is not designed to be used with Closed strokes (cyclic) and actually the result is arbitrary. In order to avoid this, now the closed strokes never are merged. Related to T98235 Feedback by: @mendio
2022-05-19Merge branch 'blender-v3.2-release'Germano Cavalcante
2022-05-19Fix T98230: Automatic Constraint doesn't work if cursor is not movingGermano Cavalcante
The change was kind of intentional on {rB21e72496a629}. That commit made mouse movement to "select" the contraint in Auto Constraint a requirement. This deduplicated the code a bit, but this requirement is not comfortable for the first "selection" of the contraint. So the constraint "selection" is now done in two ways: - If there is no contraint, the "selection" is done immediately; - If there is already a constraint, the "selection" is delayed by 1 event to simulate a constraint cancellation if there is no mouse movement.
2022-05-19Merge branch 'blender-v3.2-release'Bastien Montagne
2022-05-19Fix (studio-reported) more possibilities to edit content of linked/override ↵Bastien Montagne
collections. Existing code for the `Move` operator, and some `Collections` panel operations (Object properties) was absolutely not override-safe, and sometimes not even linked-data safe.
2022-05-19Merge branch 'blender-v3.2-release'Antonio Vazquez
2022-05-19GPencil: Remove icons in Build modifer mode parameterAntonio Vazquez
The list must not use icons. Feedback by @pablovazquez
2022-05-19UI: Expose new tool icon: Selection PaintDalai Felinto
This icon will be used by the curves paint select brush.
2022-05-19Cleanup: Decrease variable scopeHans Goudey
2022-05-19Cleanup: Remove redundant functionHans Goudey
`BKE_object_get_evaluated_mesh` now looks inside `geometry_set_eval`.
2022-05-19Merge branch 'blender-v3.2-release'Bastien Montagne
Conflicts: source/blender/blenkernel/intern/lib_override.c
2022-05-19Fix liboverride extreme resync times in case of libraries dependency loops.Bastien Montagne
That max number of `10000` level of recursivity was a typo (should have been `1000`), but even that is way too high, typical sane situation should not lead to more than a few tens of levels, so reducing the max level to 200. Also improve error message with more context info about the issue. Found while investigating issues for the Blender Studio's Heist production.
2022-05-19Revert "Fix liboverride extreme resync times in case of libraries dependency ↵Bastien Montagne
loops." This reverts commit e42e4e8568edeb4e0b962e2059586c2a3d3b457d. Wrong commit, sorry for the noise.
2022-05-19Fix liboverride extreme resync times in case of libraries dependency loops.Bastien Montagne
That max number of `10000` level of recursivity was a typo (should have been `1000`), but even that is way too high, typical sane situation should not lead to more than a few tens of levels, so reducing the max level to 200. Also improve error message with more context info about the issue. Found while investigating issues for the Blender Studio's Heist production.
2022-05-19Fix T98237: Double free with curve object conversion to meshHans Goudey
In some cases (when there is an evaluated curve), the conversion code would try to free the evaluated data-block twice, because freeing the object would free it from `data_eval` and then the data-block was freed again explicitly. Now check if the data-block is stored in `data_eval` before freeing `object.data` manually. This is another area that's made more complex by the fact that we change the meaning of `object.data` for evaluated objects. The solution is more complicated than it should be, but it works whether or not an evaluated mesh or curve exists.
2022-05-19Cleanup: Remove unnecessary indentationHans Goudey
2022-05-19Fix T73250: Override Library will always return to Object Mode on file opening.Bastien Montagne
Was an old known annoying issue, since the matching RNA property is read-only we need a manual handling of this in override applying and resyncing code.
2022-05-19Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-19Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-19Fix T93779: Python is unable to set axis aligned viewsCampbell Barton
It wasn't possible to temporarily orbit the view, then set back to an axis-aligned view. Details: - It was possible to change RegionView3D.view_rotation while the view kept the axis alignment value (Top, Left, Front .. etc) which displayed in the viewport overlay. Now changing the view rotation directly or via "view_matrix" resets the axis-alignment - clearing when the view is no longer axis-aligned or assigning the newly aligned axis. - RegionView3D.is_orthographic_side_view added in [0] could be assigned but wasn't useful as it treated an enum as a boolean only setting the RegionView3D.view to RV3D_VIEW_USER or RV3D_VIEW_FRONT. Now enabling this aligns the viewport rotation to it's closest axis-aligned orientation setting RegionView3D.view & view_axis_roll accordingly. Note that the "orthographic" term is misleading as the property only relates to axis-alignment, not to the perspective/orthographic setting. We could consider deprecating the current naming. [0]: 63bae864f40302b0a303498d26f230caf4f24339
2022-05-19Fix View Roll failure to align the quaternion to the view-axisCampbell Barton
View roll checked if the resulting roll was close to a view axis but didn't write the aligned quaternion back to the final result. Add ED_view3d_quat_to_axis_view_and_reset_quat since most callers to ED_view3d_quat_to_axis_view will reset the quaternion when a view aligned axis is found.
2022-05-19Cleanup: always assign return args for SCULPT_paint_image_canvas_getCampbell Barton
Asserting the variables weren't NULL raised a warning with GCC 12.1, instead of suppressing the warning, always assign NULL which is often expected behavior and makes the function work as documented.