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
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-06UI: Fixes and small improvements to some labels and UI messagesYevgeny Makarov
Small tweaks to make labels and texts more correct, consistent and polished. Reviewed by: Aaron Carlisle, Julian Eisel Differential Revision: https://developer.blender.org/D8346
2020-08-04Fix T71488: Flipping Custom Split Normal Data leads to artifactsSebastian Parborg
The winding order of the faces changes when flipping the faces. This lead to the loop indices changing as well. Now we take this into account when restoring and flipping the custom normals. Before the normals would be swapped.
2020-08-04Fix T71488: Flipping Custom Split Normal Data leads to artifactsSebastian Parborg
The winding order of the faces changes when flipping the faces. This lead to the loop indices changing as well. Now we take this into account when restoring and flipping the custom normals. Before the normals would be swapped.
2020-08-04Cleanup: Reduce indentation in functionHans Goudey
2020-07-28Merge branch 'blender-v2.90-release'Bastien Montagne
2020-07-28Fix T54544: "Copy Materials to Selected" only works when materials are ↵Bastien Montagne
defined on the mesh. Build a temp matarray storing materials from obdata and source object (depending on slots 'allocation' of source object), and assign those to targets. Also remove limitation of 'using same obdata is forbidden', just never edit obdata materials in that case... Certainly not perfect, but already much better than existing code.
2020-07-28Cleanup: incorrect spelling of 'manhattan'Campbell Barton
2020-07-28Cleanup: spelling, commentsCampbell Barton
2020-07-22UI: use term 'Vertex' instead of 'Vert'Yevgeny Makarov
2020-07-21Bevel: Refactor "Vertex Only" to an enumHans Goudey
This matches the change that was done to the bevel modifier so that the interface for the modifier, the active tool, and the operator are consistent. This commit extends the refactor to the bmesh implementation too, so that the parameters in the implementation don't stray too far from what is exposed. Tests are adjusted and still pass.
2020-07-21UI: Use consistent layout for custom operator UIHans Goudey
Operators are one of the last places in Blender to use older UI designs that don't fit in with recent style conventions. This commit updates these custom operator UI callbacks for consistency and clarity. Some of the code is also simplified a lot. Some of the older operator layouts were much more complex (in terms of code) than they needed to be. See the differential revision for a before and after screenshot of each operator. Differential Revision: https://developer.blender.org/D8326
2020-07-21UV: remove selection threshold for nearby coordinatesCampbell Barton
Internally UV selection considered close UV's to be connected. While this could be convenient in some cases, it complicates logic for more advanced selection operations that need to check when UV's should be considered part of the same vertex since simple threshold checks would give different results depending on the order of UV's tested. Users must now run "Merge by Distance" instead of relying on this selection threshold.
2020-07-20Fix T70455: Knife Tool failing to cut edgesGermano Cavalcante
Analyzing the cuts, the points shown in the viewport (indicating the previous and current cuts) do not correspond to the final cuts. Sometimes a point, even snapped to a vert, is a point that cuts an edge and sometimes a point, even snapped to an edge, is a point that cuts only the face. This is because the detection of snapping vertices from mouse is different from the "snap" that detects vertices that are cut. So small projection inaccuracies can result in detection failures. The solution for this is simply to confirm the cuts whose vertices indicate the `prev` ou and `cur` point. The tolerance distance does not need to be calculated in these cases.
2020-07-18Cleanup: KnifeTool: Replace glPolygonOffset by GPU_polygon_offsetClément Foucault
2020-07-16Cleanup: spellingCampbell Barton
2020-07-14Fix T78880: UV Editor - Match prop edit connected behavior with mesh editing ↵Sebastian Parborg
and fix Rip Region double proportional checkbox This fixes the double prop edit checkbox in the redo menu. This also makes it so that proportional edit in connected mode now matches how it behaves in mesh edit mode. Without this change, ripping in UV edit mode with proportional edit on would be useless as the UV verts you ripped will still be stuck together even if they were not connected anymore. Reviewed By: Campbell Differential Revision: http://developer.blender.org/D8289
2020-07-14Fix wrong vector size functions used in knife toolSergey Sharybin
Should not use copy_v3_v3 on a 2 element vectors.
2020-07-13Cleanup: remove unnecessary memberGermano Cavalcante
`Kfv-> sco` was being treated as a local variable, and can be confusing since this value is not updated when navigating the viewport.
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-10Cleanup: spellingCampbell Barton
2020-07-09Fix repeated Face Sets IDs when joining meshesPablo Dobarro
As Face Sets IDs start from 0 and increase by 1 each time a new face set is created in a mesh, when joining multiple meshes it could happen that the same ID is used by several unrelated areas in multiple objects. This checks the Face Sets IDs when joining meshes and ensures that they are not repeated between different objects when joining them, so in the resulting mesh all previous face sets will have different IDs. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8224
2020-07-09UV: path selection supportCampbell Barton
This adds support for path selection for vertex edge & face selection modes, matching mesh editing behavior, useful with the UV rip tool. Region select & edge tagging are currently not supported, although they could be added eventually.
2020-07-07Fix: remove accidental codeGermano Cavalcante
`v1` and `v2` are already set.
2020-07-07Optimization: use `BLI_bvhtree_intersect_plane` to detect faces that will be ↵Germano Cavalcante
affected by the knife tool The knife code currently calls the `BLI_bvhtree_overlap` function that tests the overlap between the mesh tree and an AABB that encompasses the points projected in the clip_start, clip_end and or clip_planes of the view. This resulted in many false positives since the AABB is very large. Often all the triangles "overlapped". The solution was to create a new function that actually tests the intersection of AABB with a plane. Even not considering the clip_planes of the view, this solution is more appropriate than using overlap. Differential Revision: https://developer.blender.org/D8229
2020-07-06Optimization: Don't compute the snap to face on the knife tool twiceGermano Cavalcante
Both `knife_find_closest_vert` and `knife_find_closest_edge` call `knife_find_closest_face`. Thus, running the raycast twice and setting values like `kcd->curr.bmface` and `kcd->curr.is_space` repeatedly. So: - separate `knife_find_closest_face` from `knife_find_closest_vert` and `knife_find_closest_edge`. - rename `knife_find_closest_vert` to `knife_find_closest_vert_of_face` - rename `knife_find_closest_edge `to `knife_find_closest_edge_of_face`. - do not set parameters previously set. Differential Revision: https://developer.blender.org/D8198
2020-07-03Clang-Tidy: Enable bugprone-misplaced-widening-castSergey Sharybin
2020-07-03Cleanup: Editors/Mesh, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/mesh` module. No functional changes.
2020-07-01Cleanup: spellingCampbell Barton
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-23Bevel: Refactor profile type input to use an enumHans Goudey
This will allow the easier addition of a constant radius mode in the future and some changes in the UI to mirror the recent similar change from "Only Vertices" to the "Affect" enum.
2020-06-22Tools: rename 'Extrude, Dissolve and Intersect' to 'Extrude Manifold'Germano Cavalcante
2020-06-20Bevel: add new 'Absolute' mode for interpreting 'amount' value.Howard Trickey
This mode is like Percent, but measures absolute distance along adjacent edges instead of a percentage. So, for example, if you use this mode with 2 segments and profile=1, you will see the length that the bevel moves along unbeveled edges between beveled ones will match the value specified. Many users seem to expect this behavior, even though it means the bevel width is uneven, so this option is for them.
2020-06-17Cleanup: name mesh join functions using ED_{type} prefixCampbell Barton
2020-06-16Cleanup: use explicit enum type for duplicate option of `BKE_object_duplicate`Bastien Montagne
Using enum type itself in implementations, and uint in headers (as using enums types in headers is a pain when enum are not defined and used in a single same header file...).
2020-06-15UI: Do not use term 'Subsurf'Aaron Carlisle
So not to be confused with subsurf scatter Differential Revision: https://developer.blender.org/D8005
2020-06-13Fix error selecting similar vertex groups after the 32ndCampbell Barton
Replace 32bit int with bitmap to allow selecting any number of vertex groups.
2020-06-10Mesh Edit: preserve Custom Normal vectors in topology operators.Alexander Gavrilov
Custom Loop Normals are normally encoded relative to the default normals, similar to normal maps, allowing them to naturally follow mesh deformations. Changes to mesh topology however often result in nonsensical effects that are not desired. The Remove Doubles operation especially (now known as Merge By Distance) is intended as a purely topological operation, and definitely should not change the vector of the custom normals. This patch implements that behavior by converting the relative encoding into an absolute vector layer for the duration of the operation. It also modifies other Merge types in this way for consistency, the Rip operator as their inverse counterpart; and also Delete, Dissolve, Connect Path and Knife operators as other examples more related to topology than shape. On the technical side, this ports mesh_normals_loop_custom_set to BMesh, and then uses a temporary Custom Data layer to store the normals as vectors for the duration of the above mentioned operations. When the normals are converted back to custom data, the caller can choose whether to mark edges as sharp to preserve distinct normals, or just average them instead. All but Remove Doubles choose to average for now. Differential Revision: https://developer.blender.org/D4994
2020-06-10Cleanup: improve custom data type namesJacques Lucke
This is related to T76659. This just renames data type names to `CD_PROP_STRING`, `CD_PROP_FLOAT` and `CD_PROP_INT32`. It makes them a bit more specific and removes unnecessary abbreviations. Reviewers: brecht Differential Revision: https://developer.blender.org/D7980
2020-06-09Fix T76894: Disable clipping region selection in material/rendered modeJeroen Bakker
In this case the draw engine isn't responsible for the selection, but the editor is. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7955
2020-06-08Revert "UI: Bevel: Show Offset type before offset amount"Aaron Carlisle
This reverts commit f50222ba2e3e4aa461c23b4f0b3f3382a9e0632c.
2020-06-08UI: Bevel: Show Offset type before offset amountAaron Carlisle
Because this controls how the amount is used in should be set first and is more important therefor place it at the top. This is also consistent with other areas in Blender
2020-06-01Merge branch 'blender-v2.83-release'Campbell Barton
2020-06-01Fix T77241: NDOF navigation doesn't work with the knife toolCampbell Barton
Also allow NDOF with loop-cut.
2020-05-28Object: add scale argument to creation operatorsCampbell Barton
Needed for to create objects of a specific size.
2020-05-27Cleanup: remove unused Main struct from snap contextCampbell Barton
2020-05-25Cleanup: typoJacques Lucke
2020-05-15Fix segfault when trying to free uninitialized loop normalsSebastian Parborg
Forgot this corner case when I created the new normal flip code.
2020-05-14Fix T76025: Flip/recalc steep custom normals produces wrong resultSebastian Parborg
The issue was the custom loop normal data would be mangled when we reversed the face loops. The flip face code will now correctly flip the custom face normals so they are not left in an undefined state. Reviewed By: Bastien Differential Revision: http://developer.blender.org/D7528