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-10-19Sculpt: Improve performance of face set creation from selectionHans Goudey
Skip BMesh conversion and read the selection attribute directly. With a Ryzen 3700x, my test face of a simple 4 million face grid became over 4000 times faster, from 2.6s to 0.6ms.
2022-10-18Fix T101893: Auto merge affecting edge crease and bevel weightGermano Cavalcante
None of the special transformations in `special_aftertrans_update__mesh` are really applicable or useful for edge crease and bevel weight.
2022-10-18Brush: Wrap mtex/mask_tex around functions.Jeroen Bakker
`Brush` has two attributes for holding texture information (`MTex`). One for color textures (`mtex`) and one for mask textures (`mask_mtex`). Unfortunately sculpt mode due to reasons used `mtex` to store mask textures. Changes like brush asset/paint mode require modes/tools to read the mask/color texture from one place. To start sanatizing this we isolate the attributes in functions. `BKE_brush_color_texture_get` and `BKE_brush_mask_texture_get`. All object paint modes should use these functions.
2022-10-18File Browser: Fix slowdown with non-existing ID previews in big filesJulian Eisel
When the File (or Asset) Browser would display data-blocks without previews in a heavy .blend file, there would be a drastic slowdown. See patch for details and comparison videos. Differential Revision: https://developer.blender.org/D16273 Reviewed by: Bastien Montagne
2022-10-18UV: support snapping on non-uniform gridsChris Blackbourn
Part of a wider set of changes to Grid and Pixel snapping in the UV Editor. This change fixes snapping behavior for non-uniform grids, either manually specified Fixed grids, or pixel grids where the underlying image is non-square. See a24fc6bbc1ae for visual changes. Maniphest Tasks: T78391 Differential Revision: https://developer.blender.org/D16275
2022-10-17Geometry Nodes: separate Instances from InstancesComponentJacques Lucke
This makes instance handling more consistent with all the other geometry component types. For example, `MeshComponent` contains a `Mesh *` and now `InstancesComponent` has a `Instances *`. Differential Revision: https://developer.blender.org/D16137
2022-10-17Make sure all dependency graphs are updated on particles system copySergey Sharybin
2022-10-17Fix T101851: Duplicating a particle system crashesSergey Sharybin
2022-10-17Cleanup: replace BLI_join_dirfile with BLI_path_joinCampbell Barton
These functions are almost identical, the main difference being BLI_join_dirfile didn't trim existing slashes when joining paths however this isn't an important difference that warrants a separate function.
2022-10-17BLI_path: remove trailing NULL argument to BLI_path_joinCampbell Barton
Using varargs had the disadvantages, replace with a macro which has some advantages. - Arguments are type checked. - Less verbose. - Unintended NULL arguments would silently terminate joining paths. - Passing in a NULL argument warns with GCC.
2022-10-17Cleanup: spelling in comments, unused arg warningCampbell Barton
2022-10-16Sculpt: Fix T101864: Mask initialization not updating multires dataJoseph Eagar
BKE_sculpt_mask_layers_ensure now takes a depsgraph argument and will evaluate the depsgraph if a multires mask layer is added. This is necassary to update the multires runtime data so that pbvh knows it has a grids mask layer. Also added code to update pbvh->gridkey.
2022-10-15Sculpt: Fix face set relax being too strongJoseph Eagar
2022-10-14Fix T101746: Node copy and paste changes multi-input socket orderHans Goudey
The multi-input indices have to be copied, and updated after pasting in case all original connected nodes weren't copied.
2022-10-14Cleanup: Fix wrong comment of breadcrumb tree pathJun Mizutani
The breadcrumb of tree path in node editor is displayed on the top of the editor. Reviewed by: PratikPB2123 Diff: https://developer.blender.org/D14994
2022-10-14Cleanup: simplify calculation of NDOF pan/zoom in 2D viewsCampbell Barton
Make the logic for converting NDOF Z-motion to a scale value more straightforward. Flipping the Z axis was scaling by negative-time, now the entire pan vector is scaled by time and the zoom value is calculated as `scale = 1 - (z * time)` instead of `1 + (z * -time)`. Although they're equivalent, confusion here caused T100953. Also clamp the scale (while unlikely, negative scale wasn't prevented).
2022-10-13Nodes: Duplicate Linked operator + User Preference option for Node TreeDalai Felinto
This operator (Alt + D) allows users to explicitly create a linked copy of a group node (same current behaviour for the Duplicate operator). The duplicate operator (Shift + D) now takes the new User Preference duplicate data option for Node Tree into account. It is by default disabled, leading to no functional change for users. Although we could make in the future make this option "on" by default, to make it consistent with the rest of Blender we do not at the time. Differential Revision: https://developer.blender.org/D16210
2022-10-13Outliner: Use row background color for elements count indicatorDalai Felinto
From T101799: Currently, the count indicator background and color are hardcoded to black and white in an attempt to maximize contrast, at the expense of being too prominent even when not needed. Changing the background color to match the row (or any other element) background, would make it look like the data-block icon is masked out, improving readability while not standing out too much. The circle background color should not have transparency, as it does now. And the text inside should match the color of the text used for the parent element (instead of hardcoded white). This should make it look good in any theme. --- Before: {F13674265, size=full} After: {F13674269, size=full} Differential Revision: https://developer.blender.org/D16246
2022-10-13Fix T101501: Masks are not visible in Image EditorSergey Sharybin
Need to initialize the mask drawing overlays when the new space is created. Otherwise the new space is configured in a way that the splines are not visible and overlay opacity is 0. This change fixes the new masking files created. The currently saved ones need a manual tweak.
2022-10-13UI: Fix wrong error message when trying to apply modifierPablo Vazquez
The error message when trying to apply a constructive modifier on a curve object was wrong, "transform" makes no sense in this context. Thanks Philipp for pointing it out!
2022-10-13Cleanup: simplify uv packing apiChris Blackbourn
Affects paint.add_simple_uvs No user visible changes. Differential Revision: https://developer.blender.org/D16231
2022-10-13Cleanup: Use std::mutex for mesh runtime mutexesHans Goudey
Instead of allocating three separate ThreadMutex pointers, just embed std::mutex into the struct directly.
2022-10-13Mesh: Move runtime data out of DNAHans Goudey
This commit replaces the `Mesh_Runtime` struct embedded in `Mesh` with `blender::bke::MeshRuntime`. This has quite a few benefits: - It's possible to use C++ types like `std::mutex`, `Array`, `BitVector`, etc. more easily - Meshes saved in files are slightly smaller - Copying and writing meshes is a bit more obvious without clearing of runtime data, etc. The first is by far the most important. It will allows us to avoid a bunch of manual memory management boilerplate that is error-prone and annoying. It should also simplify future CoW improvements for runtime data. This patch doesn't change anything besides changing `mesh.runtime.data` to `mesh.runtime->data`. The cleanups above will happen separately. Differential Revision: https://developer.blender.org/D16180
2022-10-13Point Cloud: Support applying modifiersHans Goudey
The geometry nodes modifier can now be applied on point cloud objects. This is basically a copy of the logic from 96bdd65e740e669ece and 538da79c6d17a6e660a9.
2022-10-12Nodes: Add "Legacy" to legacy node UI names, skip in searchHans Goudey
Currently there is no way to tell that these node types are deprecated in the UI. This commit adds "(Legacy)" to the end of the names. It also makes it simple to skip these in the various node searches more automatically than before. Fixes T101700 Differential Revision: https://developer.blender.org/D16223
2022-10-12Cleanup: Decrease variable scope in UI region popup codeHans Goudey
2022-10-12Cleanup: Reduce variable scope in vertex group mirror operatorHans Goudey
Combined with the previous cleanup, this would have prevented T101773.
2022-10-12Cleanup: Remove macro usage in vertex group mirror operatorHans Goudey
Avoiding a few lines of duplication is not worth the confusion and worse debugging experience of macros.
2022-10-12Fix T101773: Mirror Vertex Weights operator brokenHans Goudey
2022-10-12Fix T101679: Duplicate objects are created when 'Make' override is called on ↵Bastien Montagne
existing override in 3DView When the active selected object in the 3DView is already a local liboverride, only perform the 'clear system flag' process on selected objects, there is no point in trying to create an override out of it.
2022-10-12Cleanup: Simplify node insert after drag codeHans Goudey
- Give functions and variables more descriptive names - Use references for arguments - Use tree topology cache to avoid iterating over all links - Group related code together
2022-10-12Cleanup: use function style casts for C++, format & spellingCampbell Barton
2022-10-12Cleanup: use commented arguments for unused args in C++Campbell Barton
2022-10-12Cleanup: Convert two nodes files to C++Hans Goudey
2022-10-12Cleanup: Reduce indentation in node attach operatorHans Goudey
2022-10-12UV: add grid shape source to the uv editor, and add new "pixel" optionChris Blackbourn
This change is part of a wider set of changes to implement Grid and Pixel snapping in the UV Editor. This particular change adds a new third option, `pixel grid`, to the previous grid options, `dynamic grid` and `fixed grid`. Maniphest Tasks : T78391 Differential Revision: https://developer.blender.org/D16197
2022-10-12Fix T90782: add uv pack option to specify margin as a fractionChris Blackbourn
A refactor of the margin calculation of UV packing, in anticipation of multiple packing methods soon becoming available. Three margin scaling methods are now available: * "Add", Simple method, just add the margin. [0] (The default margin scale from Blender 2.8 and earlier.) * "Scaled", Use scale of existing UVs to multiply margin. (The default from Blender 3.3+) * "Fraction", a new (slow) method to precisely specify a fraction of the UV unit square for margin. [1] The "fraction" code path implements a novel combined search / secant root finding method which exploits domain knowledge to accelerate convergence while remaining robust against bad input. [0]: Resolves T85978 [1]: Resolves T90782 Differential Revision: https://developer.blender.org/D16121
2022-10-11Sculpt: Fix mask from cavity not redrawing viewport with modifiersJoseph Eagar
2022-10-11Sculpt: Fix T101718: Automasking crash with new texture paintJoseph Eagar
* 'Original coordinates' mode can't be used in image paint mode (it does nothing in this case anyway). * SCULPT_automasking_factor_get now returns 1.0 if a PBVH_REF_NONE vertex reference is passed in.
2022-10-11Fix T101709: Proportional editing being disabled in NLA Editor redo panelGermano Cavalcante
Do not save the "use_proportional_edit" property if it is not supported. This prevents it from being automatically disabled. And hide "use_proportional_edit" in `SPACE_NLA`
2022-10-11Cleanup: Remove unused spreadsheet geometry cache itemHans Goudey
2022-10-11Cleanup: rename base_index to ob_index in knife logicCampbell Barton
This indexes the "objects" array, so rename 'b' and 'base_index' to 'ob_index'.
2022-10-11Fix T101721: Knife project crashesCampbell Barton
The crash was caused by [0] however knife-project functionality has been incorrect since [1] which would loop over each edit-mode object and run the knife project function which operated on all edit-mode objects too. - Resolve the crash by postponing face-tessellation recalculation until the knife tool has cut all objects - Objects occluding each other is now supported (an old TODO and something that was never supported). [0]: 690ecaae208d5f72217c165621d0d036e4029e86 [1]: 6e77afe6ec7b6a73f218f1fef264758abcbc778a
2022-10-11Correct argument type for BKE_pbvh_node_get_bm_orco_data, formatCampbell Barton
2022-10-11Sculpt: Clean up Dyntopo's original triangle apiJoseph Eagar
Cleaned up Dyntopo original triangle API (which is deprecated): * BMVerts for original triangles are now stored. * BKE_pbvh_bmesh_update_topology now handles original triangle * data properly. * BKE_pbvh_bmesh_node_save_orig can now initialize the original coordinates from the current BMLogEntry. * Ray casting of original data now returns active vertex. Should fix various random crashes. Hopefully this will fix a number of bugs.
2022-10-10Sculpt: T101699: Face set change visibility crashes on no face setsJoseph Eagar
Cleaned up sculpt_face_sets_change_visibility_exec some more: * SCULPT_UNDO_HIDDEN is now pushed instead of SCULPT_UNDO_FACE_SETS (since face sets no longer encode visibility). * Added branches for if face sets do not exist. * Cleaned up independent if statements into a switch.
2022-10-10Sculpt: Fix T101729: Automasking crash in elastic deform brushJoseph Eagar
Was missing a call to SCULPT_automasking_node_update.
2022-10-10Cleanup: clang-formatLukas Stockner
2022-10-10I18n: disambiguate message "World"Damien Picard
The confusion is about World as an ID type, and the World coordinates. Use no context for the latter, and either `BLT_I18NCONTEXT_ID_WORLD`, or other more fine-grained contexts when needed as part of enums for the former. The message from the custom HDRI installation operator cannot be disambiguated right now, because Python enums don't support contexts. Ref T43295 Reviewed By: mont29 Maniphest Tasks: T43295 Differential Revision: https://developer.blender.org/D16194
2022-10-10Cleanup: NLA transforms, simplify `recalcData_nla()`Thibault de Villèle
Refactor the `recalcData_nla()` function, which takes data from the transform system and updates NLA strips, such that the actual logic to change the strip is moved into its own function. This also moves some generic code (find prev/next strip) from that function to BKE. This is to make the code easier to adjust when different transform operations need to perform different modifications of the strip (i.e. to fix T101130). Manifest Task: T101130 Reviewed By: sybren Differential Revision: https://developer.blender.org/D16181