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-02-15Fix T58571: Limited dissolve ignores boundaries between delimited facesCampbell Barton
When a vertex between two edges is being collapsed, it's important that edges between delimiting faces use the angle between edges without scaling it down. While faces with different materials wont ever be merged into a single face, all the detail between the two faces may be removed.
2020-02-15Cleanup: bmesh inset commentsCampbell Barton
- Use doxy sections - Don't document implementation details in doxy comments.
2020-02-15Cleanup: define useCampbell Barton
2020-02-14Fix T71971: Inset with depth and relative offset failsCampbell Barton
2020-02-14BMesh: stop BM_mesh_elem_index_validate from setting indicesCampbell Barton
This prevented indices from being set to temporary values, which is needed in some situations.
2020-02-07Code Quality Day: Comment formatting in bmesh_bevel.cHans Goudey
2020-02-07Cleanup: use of 'unsigned'Campbell Barton
- Replace 'unsigned' used on it's own with 'uint'. - Replace 'unsigned const char' with 'const uchar'.
2020-01-30Fix T73450, crash when adding segments on bevel.Howard Trickey
Needed to protect against a case where clamp overlap limited the offset to approximately zero, and the snap-to-pipe code would therefore encounter an almost degenerate profile and fail in matrix inversion.
2020-01-28Cleanup: warnings, clang-formatCampbell Barton
2020-01-28bmesh_intersect_edges: Don't detect faces if an edge already existsmano-wii
For optimization.
2020-01-27bmesh_intersect_edges: Improve detection of the best_facemano-wii
`lambda_a` made it more restricted than it should be.
2020-01-27bmesh_intersect_edges: Fix assertsmano-wii
2020-01-27Merge branch 'blender-v2.82-release'mano-wii
2020-01-27Fix T59804: Expose hidden bmesh.ops.symmetrize options in pythonmano-wii
The operator actually supports a 6-item enum Differential Revision: https://developer.blender.org/D6613
2020-01-27Edit Mesh: Auto Merge - Split Edges & Faces - Better logic for splitting facesmano-wii
Differential Revision: https://developer.blender.org/D6626
2020-01-25Bevel: Remove Debugging CodeHans Goudey
Remove old / trivial print statements and drawing code. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6661
2020-01-25Bevel: Simplify Profile Calculation StepHans Goudey
Profile calculation now happens in a single pass rather than being spread throughout the process. This means each profile will only be calculated a single time. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6658
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2020-01-23Fix T71311 Bridge Edge Loops crash when bridging cube edgesSybren A. Stüvel
This commit will prevent the crash. It does produce a result that may not be desirable (only briding one face of the cube), but at least it's better than crashing.
2020-01-21Fix T73295: Incorrect BMesh volume calculationCampbell Barton
Use double precision since volume calculation is susceptible to float precision errors.
2020-01-13Fix T71329: Bevel: Don't drop offsets to 'in plane' facesHans Goudey
offset_meet creates offset lines that can't be directly intersected, so the average of the points on each offset line is 'dropped' onto the faces around the beveled vertex, which can depend on where the loop starts. This fix skips faces with the same normals as the "in plane" faces from build_boundary. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6521
2020-01-09Fix T72375: Crash when using spin toolmano-wii
The original geometry referenced in `vtable` was deleted by the `extrude_face_region` operator. It is read soon after, so don't delete the original geometry (param `use_keep_orig`). This may have a small impact on performance.
2020-01-07bmesh_intersect_edges: Remove unnecessary index settingmano-wii
2020-01-06BM_mesh_intersect: Match the mesh in Debug build with Releasemano-wii
Prevents regression in unit tests.
2020-01-05Edit Mesh: Use multithreading in other parts of Auto Merge & Splitmano-wii
In the Auto Merge & Split feature, multithreading was only used to find duplicates between vertex and another vertex. But with this patch, multithreading is now used to find intersections etween edge and edge and between edge and vertex. In my tests I noticed a performance improvement of around 180% (0.017151 secs to 0.009373 secs) Differential Revision: https://developer.blender.org/D6528
2020-01-05Cleanup: warningCampbell Barton
2020-01-04Edit Mesh: Multithread support for Auto Merge & Splitmano-wii
Also collapsed edges are no longer used in the overlap test. This greatly improves peformanse for cases where the distance tested is relatively large.
2020-01-02EditMesh: Improve AutoMerge with Split Edges & Facesmano-wii
Previously, compared to `Auto Merge` without `Split Edges & Faces`, `Auto Merge` with this option ignored duplicates between selected vertices. It only considered duplicates between selected vertices and unselected vertices. This is a regress and not a progress. This commit implements this behavior, so this option matches the other `Auto Merge`.
2019-12-12BLI_bvhtree_overlap_ex: add 'max_interactions' parametermano-wii
No functional changes. Allows more performance control and is important for Weld Modifier.
2019-11-28BMesh: reduce memory usage existing edit-modeCampbell Barton
- Don't duplicate the original vertices. - Free old geometry before allocating the new geometry.
2019-11-28Fix separating mesh parts breaking vertex parents & hooksCampbell Barton
Follow up on T71865 which only reported the issue for shape keys.
2019-11-27Fix T71865: Separating mesh parts breaks shape keysCampbell Barton
This was an old bug which could be caused by saving after separating. Changes from 79b703bb635e made this fail reliably. Update shape key indices when they may be used again later.
2019-11-27Cleanup: bmesh conversion commentsCampbell Barton
2019-11-27Fix crash exiting edit-mode with an active basis shape keyCampbell Barton
Exposed by T71865, while the bug remains this resolves the crash.
2019-11-26BMesh: support copying & freeing layers by typeCampbell Barton
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-24Cleanup: spelling, repeated wordsCampbell Barton
2019-11-22Fixed rest of bevel regression tests.Howard Trickey
The calculation of pro_super_r rounded to a non-exact float, so put in rounding code for the special cases.
2019-11-22Fix some of the bevel regression tests.Howard Trickey
The code changes for custom bevels did not recalculated profiles in certain non-custom-profile cases after projection plane moves.
2019-11-21Cleanup: spellingCampbell Barton
One of the corrections from last cleanup was wrong.
2019-11-21Cleanup: spellingCampbell Barton
2019-11-21Object: edit-mode data support for object vertex coordinate accessCampbell Barton
Allows to access/transform/restore edit-mode coordinates in a generic way.
2019-11-21Bevel: Custom Profile and CurveProfile WidgetHans Goudey
Custom profiles in bevel allows the profile curve to be controlled by manually placed control points. Orientation is regularized along groups of edges, and the 'pipe case' is updated. This commit includes many updates to comments and changed variable names as well. A 'cutoff' vertex mesh method is added to bevel in addition to the existing grid fill option for replacing vertices. The UI of the bevel modifier and tool are updated and unified. Also, a 'CurveProfile' widget is added to BKE for defining the profile in the interface, which may be useful in other situations. Many thanks to Howard, my mentor for this GSoC project. Reviewers: howardt, campbellbarton Differential Revision: https://developer.blender.org/D5516
2019-10-24Cleanup: comments, formattingCampbell Barton
2019-10-20Fix T70864: Separate loose parts runs indefinitelyCampbell Barton
Large objects with many separate pieces became unstably slow (run for hours and not finish). The entire original mesh was being duplicated twice per loose part. In own tests, millions of vertices and thousands of loose parts now run in around 5-15 seconds.
2019-10-15Fix T70560: Large cones are created with double vertices (even thoughPhilipp Oeser
the radius is zero) Merge threshold for remove_doubles was hardcoded, now scaled by depth. Reviewed By: campbellbarton Maniphest Tasks: T70560 Differential Revision: https://developer.blender.org/D6001
2019-10-01Fix T70328: Crash when editing loopcuts with AutoMerge & Split optionmano-wii
2019-09-20Fix T69600: Bridge edges creates UV's with wrong rotationCampbell Barton
2019-09-14Cleanup: use const args, variablesCampbell Barton
2019-09-12BMesh: New tool `BM_mesh_intersect_edges`mano-wii
Along with the new utility `BM_vert_weld_linked_wire_edges_into_linked_faces`