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-03-29Fix T72075: Incorrect Grid Fill error messageCampbell Barton
2020-03-23Fix possible endless loop in Auto Merge & SplitGermano Cavalcante
2020-03-20Cleanup: clang-format, comment indentationCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-15Cleanup: add parens for clarityCampbell Barton
2020-03-15Cleanup: redundant checksCampbell Barton
In some cases moved the checks into asserts, to ensure changes in the future don't cause the checks to become necessary again.
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-06Cleanup: use 'BKE_' prefix for BKE_deform API callsCampbell Barton
- Use 'BKE_object_defgroup' prefix for object functions. - Rename 'defvert_verify_index' to 'defvert_ensure_index' since this adds the group if it isn't found.
2020-03-06Cleanup: use MEM_recallocN_idCampbell Barton
2020-03-02Bevel: Z-Up Custom Profile OrientationHans Goudey
When beveling architectural objects like baseboards or crown mouldings that may consist of multiple islands, it's useful if the orientation is at least conistent. This changes the arbitrary decision of how the orientation should start at a chain beginning to use the highest side of the profile in the Z direction. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6946
2020-02-28Fix T74256, crash in bmesh.ops.bevel if segments not set.Howard Trickey
Also changed signature of bevel function to take integer for segments instead of float, which is just wrong.
2020-02-26Cleanup: reduce CDDM use, remove unused function callsCampbell Barton
2020-02-20Fix missing error message on convex hull failureCampbell Barton
Also remove unused errors.
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.