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-09Merge branch 'master' into temp-T73411-add-scene-parametersJeroen Bakker
2022-09-09install_deps: update OIIO/Boost/Python/NumPy versions.Bastien Montagne
OIIO: 2.3.18.0 Boost: 1.80.0 Python:3.10.6 NumPy: 1.23.2 Ref T99618.
2022-09-09Add scene parameterMonique
2022-09-09Cycles: Generate OSL closures using macros and a template filePatrick Mours
This has the advantage of being able to use information about the existing OSL closures in various places without code duplication. In addition, the setup code for all closures was moved to standalone functions to avoid usage of virtual function calls in preparation for GPU support. This patch was split from D15902. Differential Revision: https://developer.blender.org/D15917
2022-09-09Cycles: Remove separate OSL attribute map and instead always use SVM ↵Patrick Mours
attribute map The SVM attribute map is always generated and uses a simple linear search to lookup by an opaque ID, so can reuse that for OSL as well and simply use the attribute name hash as ID instead of generating a unique value separately. This works for both object and geometry attributes since the SVM attribute map already stores both. Simplifies code somewhat and reduces memory usage slightly. This patch was split from D15902. Differential Revision: https://developer.blender.org/D15918
2022-09-09Mesh: Move bevel weight out of MVert and MEdgeHans Goudey
As described in T95966, the goal is to move to a "struct of arrays" approach rather than gathering an arbitrary set of data in hard-coded structs. This has performance benefits, but also code complexity benefits (this patch removes plenty of code, though the boilerplate for the new operators outweighs that here). To mirror the internal change, the options for storing mesh bevel weights are converted into operators that add or remove the layer, like for some other layers. The most complex change is to the solidify modifier, where bevel weights had special handling. Other than that, most changes are removing clearing of the weights, boilerplate for the add/remove operators, and removing the manual transfer of bevel weights in bmesh - mesh conversion. Eventually bevel weights can become a fully generic attribute, but for now this patch aims to avoid most functional changes. Bevel weights are still written and read from the mesh in the old way, so neither forward nor backward compatibility are affected. As described in T95965, writing in the old format will be done until 4.0. Differential Revision: https://developer.blender.org/D14077
2022-09-09Cleanup: Simplify BKE_mesh_nomain_to_meshHans Goudey
- Remove "take ownership" argument which was confusing and always true - The argument made ownership very confusing - Better to avoid boolean arguments that switch a function's purpose - Remove "mask" argument which was basically wrong and not used properly - "EVERYTHING" was used because developers are wary of removing data - Instead use `CD_MASK_MESH` for its purpose of original mesh data - Remove use of shallow copied temporary mesh, which is unnecessary now - Split shape key processing into separate functions and use C++ types - Copy fields explicitly rather than using memcpy for the whole struct - Use higher level functions and avoid redundant code - The whole idea is pretty simple and can be built from standard logic - Adjust `CustomData` logic to be consistent with "assign" expectations - Clear the layer data from the source, and moves the anonymous ID Differential Revision: https://developer.blender.org/D15857
2022-09-09Subdiv: Avoid quadratic runtime for loose edgesHans Goudey
Currently, when subdividing every single vertex on every loose edge, Blender iterates over all other edges to find neighbors. This has quadratic runtime and can be very slow. Instead, first create a map of edges connected to each vertex. With about 10000 edges, the performance goes from very slow to very smooth in my tests. Because of the nature of quadratic runtime, the improvement will depend massively on the number of elements. The only downside to this is that the map will still be built when there are only a couple loose edges, but that case is probably not so common. Differential Revision: https://developer.blender.org/D15923
2022-09-09Cleanup: remove BLI_make_file_stringCampbell Barton
This function did multiple things making it difficult to know what was intended by the caller: - Directory & file join. - Expand relative '//' prefix to an optional directory. - Expand drive letters on windows (guessing with fall-backs). - Switch slashes to native direction. This functionality wasn't needed as the full directory was always passed in, so guessing the drive letter wasn't needed. If functionality to add drive letters onto paths is needed in the future a function that only does this can be added.
2022-09-09Correct error building on WIN32Campbell Barton
Mistake in f7a4ede79f9512f39db8632ff112e08a93f3a9d4.
2022-09-09Fix Clang warning about braces around initializationSergey Sharybin
2022-09-09Cleanup: remove unnecessary use of BLI_make_file_stringCampbell Barton
Use BLI_join_dirfile instead, also reduce right-shift.
2022-09-09Fix use-after-free error when exiting on WIN32Campbell Barton
The logging API was freed before calling wm_autosave_delete that called BKE_appdir_folder_id_create to get the auto-save location (when the temporary directory wasn't found). Detecting BLENDER_USER_AUTOSAVE would log details about the path, which would read data freed by CLG_exit. Resolve by calling CLG_exit last.
2022-09-09Realtime Compositor: Implement bokeh blur nodeOmar Emara
This patch implements the bokeh blur node for the realtime compositor. The patch is still missing the Variable Size option because it depends on the Levels node, which is yet to be implemented. In particular, it requires the computation of global texture properties like the maximum color. Differential Revision: https://developer.blender.org/D15768 Reviewed By: Clement Foucault
2022-09-09Realtime Compositor: Allow inputs to skip realizationOmar Emara
This patch adds support for the skip realization option of the input descriptor. Inputs that request skip realization will not be realized on the operation domain of the operation and will not contribute to its computation, and consequently, they can't be a domain input. An example is the bokeh input of the Bokeh Blur node, which is actually a resource that is decoupled from the rest of the inputs and should not affect or be affected by their domain. Differential Revision: https://developer.blender.org/D15767 Reviewed By: Clement Foucault
2022-09-09Realtime Compositor: Implement scale nodeOmar Emara
This patch implements the Scale node for the realtime compositor. Differential Revision: https://developer.blender.org/D15758 Reviewed By: Clement Foucault
2022-09-09Add scene parameterMonique
2022-09-09Outliner: Hide library overrdies context menu when no IDs are selectedJulian Eisel
The library overrides context menu operators only make sense when at least one ID is selected in the Outliner. So don't show them unless that's the case. This also means the menu items don't show up anymore for things like RNA properties, or the overridden properties in the Library Overrides Properties view. Also see 7eda9d8dda59 and the previous commit.
2022-09-09Outliner: Don't show asset context menu when no IDs are selectedJulian Eisel
The asset context menu operators only make sense when at least one ID is selected in the Outliner. So don't show them unless that's the case. This also means the menu items don't show up anymore for things like RNA properties, or the overridden properties in the Library Overrides Properties view. Also see 7eda9d8dda59.
2022-09-09Realtime Compositor: Implement blur nodeOmar Emara
This patch implements the blur node for the realtime compositor. The patch is still missing the Variable Size option because it depends on the Erode/Dilate node, which is yet to be implemented. Furthermore, there are a number of optimizations that can be implemented, the most important of which is the IIR implementation of the Fast Gaussian filter, as well as the use of hardware filtering and thread local memory. The latter of which was attempted but was not robust enough, so it will be submitted as separate patch. Differential Revision: https://developer.blender.org/D15663 Reviewed By: Clement Foucault
2022-09-09Nodes: fix memory leakJacques Lucke
2022-09-09Readfile: avoid confusion when debugging a memory leakJacques Lucke
2022-09-09Realtime Compositor: Implement pixelate nodeOmar Emara
This patch implements the pixelate node for the realtime compositor. Differential Revision: https://developer.blender.org/D15662 Reviewed By: Clement Foucault
2022-09-09Fix T100697: Curve nodes change colors at identity settingsOmar Emara
Shader and compositor curve nodes change their inputs even if they are at identity settings. That is because shader and compositor curve nodes evaluate their curve map texture samplers at the normalized input directly, disregarding the fact that the samplers are evaluated using linear interpolation. This causes the output to be slightly different that it should be. This patch remaps the evaluation parameters such that the texture sampler is evaluated at the center of the pixels. Differential Revision: https://developer.blender.org/D15811 Reviewed By: Clement Foucault
2022-09-09Cleanup: readfile: use correct typeJacques Lucke
2022-09-09Cleanup: Remove unused attribute in draw manager.Jeroen Bakker
There are no plans to use the object attribute anymore.
2022-09-09Fix Auto-offset for nodes: Revert "Cleanup: Return early"Dalai Felinto
This "cleanup" commit broke Auto-offset for nodes. This reverts commit e3ef6a6660032ca18af53dd24cd19bf36e56a85c.
2022-09-09Cleanup: remove paranoid NULL checksCampbell Barton
2022-09-09Fix error extracting arguments from project_source_infoLoren Osborn
Output of make encounters path names that are single-quoted. This causes the path to be misinterpreted and fail validation. Resolves error in "make check_cppcheck" Ref D15801 (partially applied)
2022-09-09Cleanup: move return arguments last, use `r_` prefixCampbell Barton
Also use '_num' suffix instead of '_tot'.
2022-09-09Edit mode normalize fails to respect locked groupsCampbell Barton
Add BKE_object_defgroup_flip_map_unlocked which excludes locked groups from the flip-map. Reviewed By: zanqdo, campbellbarton Maniphest Tasks: T96787 Ref D15317
2022-09-09Fix T96787: Edit mode normalize fails to respect locked groupsNate Rupsis
Add BKE_object_defgroup_flip_map_unlocked which excludes locked groups from the flip-map. Reviewed By: zanqdo, campbellbarton Ref D15317
2022-09-09License headers: use SPDX identifiersCampbell Barton
2022-09-09Cleanup: format, trailing spaceCampbell Barton
2022-09-09Cleanup: spelling in commentsCampbell Barton
2022-09-09Python: change bpy.app.binary_path behavior WITH_PYTHON_MODULECampbell Barton
The following changes have been made to this attribute with WITH_PYTHON_MODULE is defined: - Defaults to an empty string (instead of pointing to __init__.so). - It's writable, so script authors can point to a valid Blender binary. `where_am_i(..)` is no longer used by BKE_appdir_program_path_init, there is now a separate code-path for setting the initial program directory, calls after this can be used to set the binary path.
2022-09-09Cleanup: quiet conversion warningCampbell Barton
2022-09-09GNUmakefile: change message to reference "bpy" when building as a moduleCampbell Barton
2022-09-09Cleanup: cmake line length, wrappingCampbell Barton
2022-09-09CMake: exclude Python libs & batch scripts WITH_PYTHON_MODULE for WIN32Campbell Barton
2022-09-09Cleanup: check for Python module in BKE_appdir_program_path_initCampbell Barton
Replace the argument with an in ifdef in BKE_appdir_program_path_init. At the time `blenkernel` didn't define WITH_PYTHON_MODULE, since it does now there is no need for an argument. With the minor benefit of fewer preprocessor checks in the main() function.
2022-09-09Cleanup: comments, spelling, line length for creator's CMake fileCampbell Barton
2022-09-09Python: install "bpy" as a package WITH_PYTHON_MODULECampbell Barton
Building WITH_PYTHON_MODULE was creating a "bpy" module that required Blenders data-files to be located in the module search path too. This mean that a typical installation on Linux would create: - `/usr/lib/python3.10/site-packages/bpy.so` - `/usr/lib/python3.10/site-packages/3.4` (containing `scripts` & `datafiles`). The new behavior creates: - `/usr/lib/python3.10/site-packages/bpy/__init__.so` - `/usr/lib/python3.10/site-packages/bpy/3.4` With the advantage that the "bpy" directory is the self contained Python module. No changes are needed for the module loading logic as the mechanism to swap in blend internal Python "bpy" module (defined in `release/scripts/modules/bpy/__init__.py`) works the same in both instances. Thanks to Brecht for macOS support. Reviewed by brecht Ref D15911
2022-09-09Fix T100521: Nodes added with link drag search not added to frameDominik Fill
Use macro NODE_OT_translate_attach for attaching node created through link-drag-search to frame, as suggested by Leon Schittek (@lone_noel) in D15888. Differential Revision: https://developer.blender.org/D15920
2022-09-08WIP: Adding const Scene* to many areas.Jeroen Bakker
2022-09-08Fix T100833: Cycles UDIM baking broken after recent changesBrecht Van Lommel
2022-09-08Silence warnings/assert about invalid embedded IDs for older blendfiles.Bastien Montagne
there is no point in warning about files that are not supposed to be 'correct' in that regard.
2022-09-08Fix: link drag search feature only works forgeometry nodes groupsHans Goudey
The node tree used to detect if the tree was a node group wasn't the last in the node editor's path like it should be, so the search thought that all shader node groups weren't node groups.
2022-09-08Fix: Integer type in linear probing strategyHans Goudey
Probing strategies must iterate over every possible hash, but the linear strategy only did 2^32 iterations, not 2^64. Updating this was missed in 8cbbdedaf4dfec9e3. Also fix an unnecessary comma. Differential Revision: https://developer.blender.org/D15913
2022-09-08Cleanup: Remove unused face customdata for merging meshesHans Goudey