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-06-01Cleanup: conversion from enum/int warningCampbell Barton
2022-06-01Merge remote-tracking branch 'origin/blender-v3.2-release'Jesse Yurkovich
2022-06-01Fix T96984: Create new image.browse operator for uiTemplateImage layoutsJesse Yurkovich
The existing BUTTONS_OT_file_browse operator that's used for uiTemplateImage layouts fails to work correctly with UDIM textures. This is mainly due to it not realizing that it must tokenize the filepath before signaling that an update has been made. It also doesn't work correctly when executing its SHIFT-click behavior to open the image in an external application. Lastly, it doesn't set the filters to Images and Movies which is suboptimal for the user. The new operator takes the unique features of BUTTONS_OT_file_browse and creates a customized variant better suited for images. Differential Revision: https://developer.blender.org/D14824
2022-06-01Merge branch 'blender-v3.2-release'Joseph Eagar
2022-06-01GPU subdiv: Fix edit mode vertex color not being uploaded properlyJoseph Eagar
Also cleaned up the code a tad bit. Note that I found two more bugs: * GPU subdivision attribute interpolation is producing visual artifacts. * "Show on cage" mode for subdivision surface just shows black colors.
2022-06-01Fix T97408: Temporary fix for attribute convert undoJoseph Eagar
Sculpt undo now detects if an attribute layer has changed type/domain and unconverts it back. This is a temporary workaround to a more fundamental bug in the undo system. Memfile undo assumes it can always rebuild the application state from the prior undo step, which isn't true with incremental undo systems. The correct fix is to push an extra undo step prior to running an operator if an incremental undo system is active and the operator is using memfile undo.
2022-05-31Merge branch 'blender-v3.2-release'Joseph Eagar
2022-05-31Fix T98364: Remove improper OPTYPE_UNDO flagsJoseph Eagar
Removed OPTYPE_UNDO flags from the swap brush colors and sample color operators. These types of operators are not supposed to be undoable in the first place. Also memfile undo is too buggy for it.
2022-05-31Merge branch 'blender-v3.2-release'Jacques Lucke
2022-05-31Fix T98501: setting node socket default value is very slowJacques Lucke
The issue was that the extend socket (the last empty socket in Input/Output nodes) was repeatedly removed and added again, which caused more updates than necessary. Now, the extend socket is kept if it existed already. Differential Revision: https://developer.blender.org/D15084
2022-05-31Functions: speedup preparing multi-function parametersJacques Lucke
My benchmark which spend most time preparing function parameters takes `250 ms` now, from `510 ms` before. This is mainly achieved by doing less unnecessary work and by giving the compiler more inlined code to optimize. * Reserve correct vector sizes and use unchecked `append` function. * Construct `GVArray` parameters directly in the vector, instead of moving/copying them in the vector afterwards. * Inline some constructors, because that allows the compiler understand what is happening, resulting in less code. This probably has negilible impact on the user experience currently, because there are other bottlenecks. Differential Revision: https://developer.blender.org/D15009
2022-05-31Merge branch 'blender-v3.2-release'Jacques Lucke
2022-05-31Fix T98454: subdivision doesn't propagate int attributesJacques Lucke
Differential Revision: https://developer.blender.org/D15083
2022-05-31Curves: Add soft selection in sculpt modeHans Goudey
This commit adds a float selection to curve control points or curves, a sculpt tool to paint the selection, and uses the selection influence in the existing sculpt brushes. The selection is the inverse of the "mask" from mesh sculpt mode currently. That change is described in more detail here: T97903 Since some sculpt tools are really "per curve" tools, they use the average point selection of all of their points. The delete brush considers a curve selected if any of its points have a non-zero selection. There is a new option to choose the selection domain, which affects how painting the selection works. You can also turn the selection off by clicking on the active domain. Sculpt brushes can be faster when the selection is small, because finding selected curves or points is generally faster than the existing brush intersection and distance checks. The main limitation currently is that we can't see the selection in the viewport by default. For now, to see the selection one has to add a simple material to the curves object as shown in the differential revision. And one has to switch to Material Preview in the 3d view. Differential Revision: https://developer.blender.org/D14934
2022-05-31Geometry Nodes: Don't allow UI attributes as modifier field inputsJacques Lucke
This is an extension of 4669178fc3786e1, applying the same changes to attributes chosen in the field inputs of the geometry nodes modifier. If a UI/internal attribute is used, the attribute name button will have a red alert. Adding a disabled hint is currently a bit more complex. Also hide UI attributes in attribute search for the named attribute node. Part of D14934
2022-05-31Merge branch 'blender-v3.2-release'Brecht Van Lommel
2022-05-31Cleanup: Improve const correctness of ID functionsHans Goudey
These functions don't change their inputs, so they can be const, which is a bit more intuitive and clean to use for callers. Differential Revision: https://developer.blender.org/D14943
2022-05-31Fix Cycles MNEE not working for MetalBrecht Van Lommel
Move MNEE to own kernel, separate from shader ray-tracing. This does introduce the limitation that a shader can't use both MNEE and AO/bevel, but that seems like the better trade-off for now. We can experiment with bigger kernel organization changes later. Differential Revision: https://developer.blender.org/D15070
2022-05-31Merge branch 'blender-v3.2-release'Johnny Matthews
2022-05-31Fix T98500: Wrong Selection in Duplicate PointsJohnny Matthews
Differential Revision: https://developer.blender.org/D15071
2022-05-31Cleanup: Simplify dependencies for GMP math headerHans Goudey
Previously, the base math headers included GMP headers in all cases. This was problematic because we don't want all modules that use the math headers to depend on GMP, and the unnecessary includes could theoretically have detrimental effects to compile times. Now `BLI_math_mpq.hh` depends on `BLI_math_base.hh`, so if a file needs to use exact arithmatic, it can just include the former. Differential Revision: https://developer.blender.org/D15079
2022-05-31Cleanup: Move lib_override.c to C++Hans Goudey
This will allow easier const correctness and use of nicer data structures like `Vector` and `Map`.
2022-05-31Merge remote-tracking branch 'origin/blender-v3.2-release'Kévin Dietrich
2022-05-31Fix T97877: broken shadows with GPU subdivisionKévin Dietrich
Issues stems from the mesh not being watertight. This was caused by floating point precision issues when evaluating patch coordinates at patch boundaries (loops/corners in different patches pointing to the same vertex). To fix this we ensure that all loops pointing to the same vertex share the same patch coordinate. This keeps code simple, and does not require to track precision issues in floating point math all over the place.
2022-05-31Intern/atomic: Fix `const` qualifier for `atomic_load_ptr`.YimingWu
2022-05-31Intern/atomic: Adding atomic_load/store_ptr support.YimingWu
We need to provide _ptr ones with _z ones on the API level. Reviewed By: Sergey Sharybin (sergey) Ref D15076
2022-05-31Attributes: Hide internal UI attributes and disallow procedural accessHans Goudey
This commit hides "UI attributes" described in T97452 from the UI lists in mesh, curve, and point cloud properties, and disallow accessing them in geometry nodes. Internal UI attributes like selection and hiding values should use the attribute system for simplicity and performance, but we don't want to expose those attributes in the attribute panel, which is meant for regular user interaction. Procedural access may be misleading or cause problems, as described in the design task above. These attributes are added by two upcoming patches: D14934, D14685 Differential Revision: https://developer.blender.org/D15069
2022-05-31Merge branch 'blender-v3.2-release'Julian Eisel
2022-05-31Fix wrong asset dropped when dragging from loc. of just cleared assetJulian Eisel
See previous commit for an explanation of what went wrong. Similar to the fix there, we also have to update the dragged data (e.g. the data-block) referenced by the button. Committing separately since this could cause further issues.
2022-05-31Fix T95394: Crash when dragging from location of just cleared assetJulian Eisel
In Blender buttons are recreated over redraws, except of the active button which is kept alive, and replaces the new version of itself in the new redraw. In order to do that, the button needs to be recognized. This process of recognizing and matching buttons from different redraws isn't always bullet-proof. That's okay-ish, but we have to make sure that the relevant data of the old active button is updated with the newest data. Here the matching would go wrong, and the new active button was recognized as the old active button, which was in fact removed when the asset was cleared. This patch makes sure the image buffer attached to the buttons is updated when buttons were recognized as matching. Note that the dragging will still use the wrong data-block, this will be fixed in the following commit.
2022-05-31Merge remote-tracking branch 'origin/blender-v3.2-release'Kévin Dietrich
2022-05-31Fix T97086: corrupted UVs with GPU subdivisionKévin Dietrich
When multiple objects are in edit mode, UVs for the objects, except for the first one (in rendering order) appear corrupted. The corruption is because the UVs are not evaluated as the compute shader is not bound, thus we read unitialized memory. We keep track of the currently bound shader in the GPU context in order to avoid unnecessary shader switches in case the same shader is used in consecutive calls. However, the shader used by the OpenSubdiv evaluator is not part of Blender and therefore not tracked via the GPU context. When extracting UVs for multiple objects, we only ever run a single shader (FVar evaluation). However, between the compute calls, we also call the OpenSubdiv stencil evaluation shader, which uses `glUseProgram` modifying the current program, outside of our control, which then also unbinds the Blender compute shader making the compute dispatch fail ("No active compute shader"). The fact that extracting the UVs for the first rendered object works is because another (Blender) shader was bound in the GPU context prior to our binding of our evaluation shader. To fix this, we remember, in the OpenSubdiv evaluator, the current program so that it can be reset after the stencil program is done. Differential Revision: https://developer.blender.org/D15064
2022-05-31Cleanup: tabs to spaces for CMake files & sort file-listsCampbell Barton
2022-05-31Do not provide python libraries for linking if building python moduleCampbell Barton
When building blender as a python module, such as for inclusion in a wheel, it is not permitted to link against python libraries. This diff does so by simply unsetting the library when building blender as a python module, instead of the more heavyweight solution of switching to the cmake FindPython module. Reviewed By: LazyDodo, campbellbarton Ref D15012
2022-05-31Merge branch 'blender-v3.2-release'Hans Goudey
2022-05-31Fix T98403: Crash applying modifiers on non-mesh objectsHans Goudey
The operator assumed it was called on a mesh object, which has mostly been the case because of lack of support for other object types, but the new curves object is supported, which is the situation in the report. Differential Revision: https://developer.blender.org/D15063
2022-05-31OBJ: Enable undo for experimental OBJ importerIyad Ahmed
The new OBJ importer operator didn't register an undo event. This commit enables the register and undo flags for the operator. Reviewed By: Bastien Montagne, Aras Pranckevicius, Serhiy Striletksy Differential Revision: https://developer.blender.org/D15051
2022-05-31Merge branch 'blender-v3.2-release'Jeroen Bakker
2022-05-31Merge branch 'blender-v3.2-release'Jeroen Bakker
2022-05-31UI: Correct sculpt tooltipsJulien Kaspar
Some of the tools in sculpt mode were still referring to the previously experimental sculpt vertex colors. They should instead refer to color attributes. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D15073
2022-05-31Cleanup: remove UV handling from OBJECT_OT_modifier_convertCampbell Barton
It doesn't make sense to merge UV's when applying a particle-system.
2022-05-31Cleanup: rename ED_object_modifier_convert to make it's use clearerCampbell Barton
This function is specific to particle-systems which wasn't obvious, leading to an error in [0] which added UV handling which doesn't make sense.
2022-05-31RNA: add macros for EnumPropertyItem layout elementsCampbell Barton
Add the following macros for enums as support for these features wasn't all that obvious and there were some inconsistencies in their use. - RNA_ENUM_ITEM_HEADING(name, description) - RNA_ENUM_ITEM_SEPR - RNA_ENUM_ITEM_SEPR_COLUMN
2022-05-31PyDoc: replace in-lined enum references with links where possibleCampbell Barton
Avoid in-lining large enums such as icons and event types, linking to them instead. This mitigates T76453, where long enums took a lot of space in the docs, this was a problem with `UILayout` where each icon argument would list all icons. [0] worked around the issue using CSS to scroll the list. However this has the draw-back where some items are clipped in a way that's not obvious, see: T87008. The reason this isn't a complete solution is that Python defined enums aren't written into their own pages which can be linked to, although currently there are no large Python enums included in the API docs. All in-lined enums are now under 20 items. [0]: 1e8f2665916c049748a3985a2fce736701925095
2022-05-31PyDoc: de-duplicate enums for rna_rna.c & bpy_props.cCampbell Barton
Lists of items for bpy.props were duplicated 3 times, now all enums are defined once in rna_rna.c and referenced from bpy.props doc-strings.
2022-05-31PyDoc: document static enums from RNA_enum_items.hCampbell Barton
Create a page for every enum in RNA_enum_items.h, which includes the enum values and the doc-string for each item. Each page creates a references which the API reference can be linked to via the same name as the enum, so :ref:`rna_enum_icon_items` links to the list of icons for e.g. This has two main advantages: - No need to manually duplicate enum values in the doc-strings of functions defined in Python's C/API (not RNA defined functions), `bpy.props` for example. - The generated Python API docs can reference these instead of including the enums in-line - resulting in unreasonably long lists in the case if icons and event types (for example). These changes will be made separately.
2022-05-31PyAPI: add _bpy.rna_enum_items_static() for accessing internal enum dataCampbell Barton
This is method is intended for internal use (introspection for generating API docs).
2022-05-31RNA: avoid non-standard enum item (enum section using single space)Campbell Barton
Also removes stray semicolon in RNA_enum_items.h
2022-05-30Cleanup: Remove outdated commentHans Goudey
2022-05-30Fix T96157: Make size of Frame Node label independent from Line WidthDominik Fill
This commits corrects the calculation of the Frame Node label size, making it independent of the 'Line Width' user preference. Since `U.dpi` is actually DPI divided by `U.pixelsize` and `U.pixelsize` is calculated from line-width multiplying by `U.pixelsize` undoes the connection between line-width and label size. It now stays the same, regardless of the line-width setting. Reviewed By: Julian Eisel, Harley Acheson Differential Revision: https://developer.blender.org/D14338