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-08-02Fix: Incorrect coordinates used in BLI_rct*_isect_segment functionsSiddhartha Jejurkar
Ref D15330.
2021-11-02Fix missing null-terminator in BLI_string_join_arrayNKévin Dietrich
Although the documentation says so, the null-terminator was missing. This could cause crashes when logging shader linking errors as shader sources are empty in this case.
2021-08-23BLI_math: Fix several division-by-zero cases.Bastien Montagne
Those were caused by various tools used on degenerate geometry, see T79775. Note that fixes are as low-level as possible, to ensure they cover as much as possible of unreported issues too. We still probably have many more of those hidden in BLI_math though.
2021-08-09Fix broken logic in Windows directory query functionJulian Eisel
Mistake in a5bbdd6998ab
2021-05-04Fix (unreported): 'CoInitializeEx' being called without 'CoUninitialize'Germano Cavalcante
Problem introduced in {rB1f223b9a}. This was possibly causing random crashes in Blender file browser when compiled with ASAN. Microsoft documents indicate that any call to `CoInitializeEx` must be balanced by a corresponding call to `CoUninitialize`. https://docs.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-coinitializeex#remarks
2021-05-02Fix T87554 Exact Boolean performance bug.Howard Trickey
There was a quadratic algorithm extracting triangles from a coplanar cluster. This is now linear. Also found and fixed a bug in the same area related to the triangulator added recently: it didn't get the right correspondence between new edges and original edges.
2021-04-24Fix T87682 Boolean Exact crash.Howard Trickey
The triangulator I made (using CDT) doesn't work if the face self-intersects. Fall back to the polyfill triangulator when that happens.
2021-04-21BLI_string: add a utility to replace strings using a tableCampbell Barton
Useful to simplify versioning code when identifiers need updating in multiple places.
2021-04-17Fix T86805 Inconsistent results for exact boolean.Howard Trickey
The fast triangulator from Blenlib could leave a non-manifold mesh after removing degenerate triangles. Switched to an exact triangulator.
2021-04-08Cleanup: spellingCampbell Barton
2021-04-08Cleanup: enable modernize-use-equals-default checkJacques Lucke
This removes a lot of unnecessary code that is generated by the compiler automatically. In very few cases, a defaulted destructor in a .cc file is still necessary, because of forward declarations in the header. I removed some defaulted virtual destructors, because they are not necessary, when the parent class has a virtual destructor already. Defaulted constructors are only necessary when there is another constructor, but the class should still be default constructible. Differential Revision: https://developer.blender.org/D10911
2021-04-05BLI: fix axis order in 'BLI_array_iter_spiral_square'Germano Cavalcante
x and y were inverted.
2021-04-01Curve: Remove 'CU_2D' flag used for nurbsGermano Cavalcante
This fixes T86440 As the CU_2D flag is set for nurbs, a Curve can have 2D nurbs mixed with 3D. But the UI does not allow this mixing. It updates all nurbs to 2D or 3D when set. So remove this specific flag for nurbs. This may break old files, since 2D curves with mixed 3D are now set as 3D. Differential Revision: https://developer.blender.org/D10738
2021-04-01Cleanup: spellingCampbell Barton
2021-04-01BLI_math: add orthogonalize_m#_zero_axesCampbell Barton
Expose a this function to initialize any zeroed axes to an orthogonal vector based on other non-zeroed axes. This functionality already existed for `invert_m#_m#_safe_ortho`, expose as a public function as it's useful to be able to fill in zeroed axes of transformation matrices since they may be used in matrix multiplication which would create degenerate matrices.
2021-03-29Compositor: Add Anti-Aliasing nodeHabib Gahbiche
This is an implementation of Enhanced Subpixel Morphological Antialiasing (SMAA) The algorithm was proposed by: Jorge Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez This node provides only SMAA 1x mode, so the operation will be done with no spatial multisampling nor temporal supersampling. See Patch for comparisons. The existing AA operation seems to be used only for binary images by some other nodes. Using SMAA for binary images needs no important parameter such as "threshold", so we perhaps can switch the operation to SMAA, though that changes existing behavior. Notes: 1. The program code assumes the screen coordinates are DirectX style that the vertical direction is upside-down, so "top" and "bottom" actually represent bottom and top, respectively. Thanks for Habib Gahbiche (zazizizou) to polish and finalize this patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D2411
2021-03-25BLI: simplify using DefaultHashJacques Lucke
2021-03-24Fix T86891: only sort query results for shortest string if there is a queryDirk
Differential Revision: https://developer.blender.org/D10802
2021-03-24Cleanup: remove stdio.h header from MEM_guardedalloc.hCampbell Barton
This was included for `FILE *` which isn't used in the header. Ref D10799
2021-03-23BLI: add macro to indicate unreachable codeJacques Lucke
This adds a `BLI_assert_unreachable()` macro, that should be used instead of `BLI_assert(false)` in many places. * `BLI_assert_unreachable` provides more information than `BLI_assert(false)` to people reading the code. * `BLI_assert_unreachable` will print an error to `stderr` in a release build. This makes it more likely that we will get bug reports when the assumptions of a developer were wrong. Differential Revision: https://developer.blender.org/D10780
2021-03-21Cleanup: correct variable name mixup in BLI_str_quoted_substrNCampbell Barton
Also expand doc-string for `BLI_str_escape_find_quote`
2021-03-21Cleanup: use static local variablesCampbell Barton
2021-03-18Cleanup: spellingCampbell Barton
2021-03-16Grease Pencil: Add LineArt modifierYimingWu
This adds the LineArt grease pencil modifier. It takes objects or collections as input and generates various grease pencil lines from these objects with the help of the active scene camera. For example it can generate contour lines, intersection lines and crease lines to name a few. This is really useful as artists can then use 3D meshes to automatically generate grease pencil lines for characters, enviroments or other visualization purposes. These lines can then be baked and edited as regular grease pencil lines. Reviewed By: Sebastian Parborg, Antonio Vazquez, Matias Mendiola Differential Revision: http://developer.blender.org/D8758
2021-03-14Fix T86390 Exact Boolean crash.Howard Trickey
The code has to keep track of "zero volume" cells and I forgot that there were cases where that needed be be invalidated.
2021-03-10Cleanup: spellingCampbell Barton
2021-03-10Cleanup: compiler warning (ignored-qualifiers)Campbell Barton
2021-03-09BLI: New 'BLI_array_iter_spiral_square'Germano Cavalcante
No functional changes. This function replaces some of the logic in `DRW_select_buffer_find_nearest_to_point` that traverses a buffer in a spiral way to search for a closer pixel (not the closest). Differential Revision: https://developer.blender.org/D10548
2021-03-08Geometry Nodes: Improve performance of point distribute nodeHans Goudey
This commit refactors the point distribute node to skip realizing the instances created by the point instance node or the collection and object info nodes. Realizing instances is not necessary here because it copies all the mesh data and and interpolates all attributes from the instances when this operation does not need to modify the input geometry at all. In the tree leaves test file this patch improves the performance of the node by about 14%. That's not very much, the gain is likely larger for more complicated input instances with more attributes (especially attributes on different domains, where interpolation would be necessary to join all of the instances). Another possible performance improvement would be to parallelize the code in this node where possible. The point distribution code unfortunately gets quite a bit more complicated because it has to handle the complexity of having many inputs instead of just one. Note that this commit changes the randomness of the distribution in some cases, as if the seed input had changed. Differential Revision: https://developer.blender.org/D10596
2021-03-08Cleanup: rename offs to offsetCampbell Barton
2021-03-08Speedup for usual non-manifold exact boolean case.Howard Trickey
The commit rB6f63417b500d that made exact boolean work on meshes with holes (like Suzanne) unfortunately dramatically slowed things down on other non-manifold meshes that don't have holes and didn't need the per-triangle insideness test. This adds a hole_tolerant parameter, false by default, that the user can enable to get good results on non-manifold meshes with holes. Using false for this parameter speeds up the time from 90 seconds to 10 seconds on an example with 1.2M triangles.
2021-03-07Fix T85632 Improve Exact boolean in cell fracture of Suzanne.Howard Trickey
The Exact boolean used in the cell fracture addon incorrectly kept some outside faces: due to some raycasts going into open eye socket then out of the head, leading to one ray direction (out of 8) saying the face was inside the head. The current code allowed 1 of 8 rays only as "inside" to accommodate the case of a plane used in boolean to bisect. But this cell fracture case needs more confidence of being inside. So changed the test for intersection to require at least 3 of 8 rays to be inside. Maybe the number of rays to indicate insideness should be exposed as an option, to allow user tuning according to the degree of "non-volumeness" of the arguments, but will try at least for now to magically guess the right value of the rays-inside threshold. Note: all of this only for the case where the arguments are not all PWN (approx: manifold). The all-PWN case doesn't use raycast.
2021-03-07Cleanup: use POINTER_OFFSET macroCampbell Barton
2021-03-04UI: prefer shorter search items in fuzzy searchJacques Lucke
This is a simple heuristic that seems to improve the search results in many cases. Differential Revision: https://developer.blender.org/D10618
2021-03-04Cleanup: number literalsCampbell Barton
2021-02-28Fix T85948 Exact boolean crash with some nonplanar ngons.Howard Trickey
Triangulating ngons could fail with the method that was being used: projecting along the dominant normal axis and then using CDT. It could fail if the ngon has self crossings or might be so after the described projection. Switched to using projection along the normal itself, and also to using polyfill which produces some kind of triangulation no matter what in such circumstances. This will also likely be faster if there are a lot of ngons in the meshes, since the exact arithmetic CDT was being used before, and now float arithmetic is used.
2021-02-25Cleanup: spellingCampbell Barton
2021-02-24Fix T85726 Workbench: Orthographic view is blurryClément Foucault
This was caused by the window_translate_m4 not offsetting the winmat in the right direction for perspective view. Thus leading to incorrect weights. The workbench sample weight computation was also inverted. This fix will change the sampling pattern for EEVEE too (it will just mirror it in perspective view).
2021-02-22Cleanup: unused variableJacques Lucke
2021-02-22Change Exact Boolean modifier to skip round trip through BMesh.Howard Trickey
The Exact modifier code had been written to avoid using BMesh but in the initial release the modifier still converted all Meshes to BMeshes, and then after running the boolean code on the BMeshes, converted the result back to a Mesh. This change skips that. Most of the work here is in getting the Custom Data layers right. The approach taken is to merge default layers from all operand meshes into the final result, and then use the original verts, edges, polys, and loops to copy or interpolate the appropriate custom data layers from all operands into the result.
2021-02-20Cleanup: doxygen sectionsCampbell Barton
2021-02-17Cleanup: fix compiler warningsBrecht Van Lommel
2021-02-17BLI: add BLI_simd.h header to wrap SSE includesBrecht Van Lommel
In preparation of adding Neon support. Ref D8237, T78710
2021-02-17Cleanup: spellingCampbell Barton
2021-02-15Cleanup: clang tidyJacques Lucke
2021-02-14Cleanup: spellingCampbell Barton
2021-02-14Cleanup: use doxy sectionsCampbell Barton
2021-02-13Cleanup: macro hygiene, use parenthesis around operatorsCampbell Barton
2021-02-11Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-11BLI_math: add mid_v2_v2v2v2Campbell Barton