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-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
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
2022-05-30Cleanup: Move attribute.c to C++Hans Goudey
2022-05-30Cleanup: Clang tidyHans Goudey
Mostly duplicate includes, also use nullptr, and using default member initializers.
2022-05-30LibOverride: Add full support for camera's background images.Bastien Montagne
Add support for adding (inserting) new background images into an override of a linked Camera ID. Request from the Blender studio. This ended up being more involved than expected as it uncovered some latent issues with existing background images code. Noticiably, a new `BKE_camera_background_image_copy` had to be added to handle copying of background images in a proper, generic ID-management way.
2022-05-30Cleanup: Move attribute domain count out of enumHans Goudey
The number of attribute domains is not an attribute domain. This way it doesn't have to be handled in switch statements. Differential Revision: https://developer.blender.org/D15065
2022-05-30Fix (unreported) missing rna_path function for BackgroundImage struct.Bastien Montagne
2022-05-30Cleanup: report errors instead of asserting in case of missing local data on ↵Bastien Montagne
file read. While this should never happen, this is not a critical failure preventing Blender to work.
2022-05-30Fix polling function for background image removal not checking linked ID.Bastien Montagne
Linked ID is (almost) never editable... Also rename that function to add the `_poll` suffix.
2022-05-30Fix (unreported) wrong ID usercount handling in background images removal.Bastien Montagne
Assuming that an ID pointer is NULL because another 'source type' property has some specific value is utterly wrong and a gateway to usercounting bugs.
2022-05-30Merge remote-tracking branch 'origin/blender-v3.2-release'Dalai Felinto
2022-05-30Fix T98253: Gpencil Lineart crashes when undoing creation of linked copyAntonio Vazquez
These lines were not used now because the handling of copy data has changed. Assigning the `eval` data can produce unexpected result, especially since everywhere ID_RECALC_TRANSFORM is used, we also do a copy on write. That should take care of `ob->data` for the eval object.
2022-05-30Cleanup: use class instead of structJacques Lucke
2022-05-30Fix T98444: Image.save_render not using scene output file typeBrecht Van Lommel
Also simplify logic because (source == IMA_SRC_VIEWER) and ELEM(type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE) are the same thing.