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
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-02-02Merge branch 'blender-v2.92-release'Robert Guetzkow
2021-02-02Fix T85225: Variable scope in ridged multi-fractal noiseRobert Guetzkow
This patch fixes a bug introduced in rB74188e65028d268af887ab2140e4253087410c1e. The commit incorrectly moved the declaration and intialization of the variable `pwr` inside the loop. Since the value was originally modified in each iteration based on it's previous value and `pwHL` through `pwr *= pwHL`, this change in scope was wrong. It resetted the value in each iteration. This patch moves the declaration of `pwr` outside the loop again. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10258
2021-02-02Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-02creator: add missing '--debug-*' arguments under debugging optionsCampbell Barton
Only print "Other Options" when the heading has content to show.
2021-01-28Fix unused result from mmap() callSergey Sharybin
The unused result was reported by Clang-Tidy 11. It does make sense to check for the failed mmap() calls rather than quietly suppress errors. In this change failures are reported, but application execution is not aborted. This is a bit disputable, but it feels to be a safer thing to do now. It is unclear how to test the code though, as we don't have any tools in-place to simulate read errors. Differential Revision: https://developer.blender.org/D10223
2021-01-27Cleanup: spellingCampbell Barton
2021-01-27Merge remote-tracking branch 'origin/blender-v2.92-release'Ray Molenkamp
2021-01-27Windows: Fix wchar_t truncationRay Molenkamp
BLI_strncpy_wchar_from_utf8 made the assumption that wchar_t is UTF-32 bit regardless of environment, while this holds true on both mac and linux, on windows wchar_t is actually actually UTF-16. This resulted in the upper 16 bits being dropped from from some string conversions and prevented blender from starting when installed in a path with unicode code-points over 0xffff. There was also a fair bit of code duplication between BLI_strncpy_wchar_from_utf8 and BLI_str_utf8_as_unicode_and_size this change essentially removes all logic from BLI_strncpy_wchar_from_utf8 and calls the right function for the right environment. Reviewed By: brecht , Robert Guetzkow Differential Revision: https://developer.blender.org/D9822
2021-01-25Windows: Remove zero terminator from stack traceRay Molenkamp
Important lesson to be learned here, leaving comments is great and in the moment, they usually make sense. Many months later they may not quite make as much sense any more and time will have to be spend to figure out what was meant, all of this would have been averted with a better comment. The zero terminator in this case, I can find no evidence of it being used or relied on at any point. It does however break GTests's `EXPECT_EXIT` macro that stops looking in the output as soon as it sees the zts and doesn't end up looking at the actual assert text being thrown. Which in turn makes the`fcurve_active_keyframe`test fail when run in debug mode on windows.
2021-01-24Cleanup: email address formattingCampbell Barton
Match git style email addresses, ignored by the spell checker.
2021-01-22Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-22Fix T84745: more build errors with TBB 2021Brecht Van Lommel
* tbb::blocked_range moved to a different namespace and since the fix is non-trivial, remove some unused code that used this. * Task group priorities are no longer supported. It's unclear if they are useful at all right now and even set correctly, for now all tasks are equal priority with TBB 2021.
2021-01-20Cleanup: clang-formatCampbell Barton
2021-01-20Cleanup: spellingCampbell Barton
2021-01-20Cleanup: remove extra in trailing asteriskCampbell Barton
Comment blocks not conforming to convention.
2021-01-15Merge branch 'blender-v2.92-release'Hans Goudey
2021-01-15Fix T84745: build error with TBB 2021Brecht Van Lommel
task_group::is_canceling() was removed.
2021-01-15Cleanup: spellingCampbell Barton
2021-01-15Use mmap() IO for reading uncompressed .blendsLukas Stockner
Instead of submitting tons of tiny IO syscalls, we can speed things up significantly by `mmap`ing the .blend file into virtual memory and directly accessing it. In my local testing, this speeds up loading the Dweebs file with all its linked files from 19sec to 10sec (on Linux). As far as I can see, this should be supported on Linux, OSX and BSD. For Windows, a second code path uses `CreateFileMapping` and `MapViewOfFile` to achieve the same result. Reviewed By: mont29, brecht Differential Revision: https://developer.blender.org/D8246
2021-01-13Transform: geodesic distances for proportional edit connected modeBrecht Van Lommel
Use approximate geodesic distance computatiom that crosses through triangles rather than only along edges. Using only edges would give artifacts already on a simple grid. Fixes T78752, T35590, T43393, T53602 Differential Revision: https://developer.blender.org/D10068
2020-12-16Geometry Nodes: Poisson disk point distribution node/methodDalai Felinto
This patch does two things: * Introduce a Seed to the random distribution method * Bring in a new distribution method for the point scattering node Patch Review: https://developer.blender.org/D9787 Note: This commit doesn't not handle doversion. Which means that users need to manually update their files that were using the Point Distribute node and reconnect inputs to the "Maximum Density" socket. Original patch by Sebastian Parborg, with changes to not rely on the cy libraries and overall cleanup. Patch review by Jacques Lucke, besides help with the new "heap" system that was required for this algorithm. Based on Cem Yuksel. 2015. Sample Elimination for Generating Poisson Disk Sample. Sets. Computer Graphics Forum 34, 2 (May 2015), 25-32 http://www.cemyuksel.com/research/sampleelimination/
2020-12-14Cleanup: path_util.c commentsCampbell Barton
2020-12-13Fix weird Swing+Twist decomposition with noncanonical quaternions.Alexander Gavrilov
It turns out that after the fix to T83196 (rB814b2787cadd) the matrix to quaternion conversion can produce noncanonical results in large areas of the rotation space, when previously this was limited to way smaller areas. This in turn causes Swing+Twist math to produce angles beyond 180 degrees, e.g. outputting a -120..240 range. This fixes both issues, ensuring that conversion outputs a canonical result, and decomposition canonifies its input. This was reported in chat by @jpbouza.
2020-12-11Fix: Fix potential memory leak in BLI_getenvRay Molenkamp
Issue introduced in rB87b19b3aba0c and unlikely to occur but no reason not to have correct code.
2020-12-11Fix: BLI_getenv returns ascii not UTF8 on windowsRay Molenkamp
BLI_getenv has always incorrectly returned ascii rather than UTF-8. This change corrects this behaviour. This resolves issues when the `BLENDER_USER_CONFIG` environment variable contains a path with Unicode characters on windows as reported in T74510 (but unlikely the root cause for the issue at hand there) Differential Revision: https://developer.blender.org/D9831 Reviewed by: brecht
2020-12-10Fix T83630 Exact Boolean assert failure in Debug build.Howard Trickey
I thought I had reasoned that the add_patch would only happen when the patch was not already in a cell, but I missed reasoning about merged cells. So switched to a set 'add' instead of 'add_new'.
2020-12-10BLI_string: return NULL from BLI_str_quoted_substrN on failureCampbell Barton
This was returning an empty allocated string, however almost all callers checked if the return value was NULL before freeing, making for misunderstandings on the intended use of this function. BCAnimationSampler::initialize_curves for example detected the f-curves animation type to 'bone' based on a non-NULL return value which never failed. Also fixes two leaks where the the result of BLI_str_quoted_substrN wasn't freed.
2020-12-10Fix BLI_str_quoted_substrN use with escaped stringsCampbell Barton
BLI_str_quoted_substrN didn't unescape the resulting string, yet all callers were using this with animation paths which are created using BLI_str_escape(). - Fix BLI_str_quoted_substrN use with escaped strings by calling BLI_str_unescape(). Note that it's possible we want an a version of this function that keeps escape characters. This could be added if it's required. - Fix end quote detection using BLI_str_escape_find_quote checking for `\"` isn't reliable since an even number of back-slashes before a quote means it's not escaped.
2020-12-10BLI_string: extract quote utility into BLI_str_escape_find_quoteCampbell Barton
Duplicate logic for this exists in BLI_str_quoted_substrN, which doesn't properly support escaping.
2020-12-10Cleanup: use snake-case instead of camel-caseCampbell Barton
2020-12-10BLI_string: support escaping additional control characterCampbell Barton
Add support for escaping \a, \b & \f for completeness, currently it's not required.
2020-12-10BLI_string: add BLI_str_unescape utility functionCampbell Barton
Performs the reverse of BLI_str_escape. This allows logic to be removed from RNA path handling.
2020-12-10Fix BLI_str_escape with control characters, add unit testsCampbell Barton
2020-12-10Cleanup: rename BLI_strescape to BLI_str_escapeCampbell Barton
Prepare for `BLI_str_unescape` which doesn't read well without the separator.
2020-12-09Cleanup: various clang tidy fixesJacques Lucke
2020-12-08Fix unexpected "/" path after normalizing empty directory pathJulian Eisel
Caused problems in the Asset Browser branch when passing an empty path. The function shouldn't blindly add a slash but sanity-check the input parameters first.
2020-12-06Reorder fields in boolean's ITT_value to save memory.Howard Trickey
2020-12-05Add more timing hooks for boolean.Howard Trickey
2020-12-04Cleanup: Clang-Tidy, modernize-use-usingSybren A. Stüvel
Replace `typedef` with `using` in C++ code. In the case of `typedef struct SomeName { ... } SomeName;` I removed the `typedef` altogether, as this is unnecessary in C++. Such cases have been rewritten to `struct SomeName { ... };` No functional changes.
2020-12-04Cleanup: Clang-Tidy, modernize-deprecated-headersSybren A. Stüvel
No functional changes.
2020-12-02Geometry Nodes: initial scattering and geometry nodesJacques Lucke
This is the initial merge from the geometry-nodes branch. Nodes: * Attribute Math * Boolean * Edge Split * Float Compare * Object Info * Point Distribute * Point Instance * Random Attribute * Random Float * Subdivision Surface * Transform * Triangulate It includes the initial evaluation of geometry node groups in the Geometry Nodes modifier. Notes on the Generic attribute access API The API adds an indirection for attribute access. That has the following benefits: * Most code does not have to care about how an attribute is stored internally. This is mainly necessary, because we have to deal with "legacy" attributes such as vertex weights and attributes that are embedded into other structs such as vertex positions. * When reading from an attribute, we generally don't care what domain the attribute is stored on. So we want to abstract away the interpolation that that adapts attributes from one domain to another domain (this is not actually implemented yet). Other possible improvements for later iterations include: * Actually implement interpolation between domains. * Don't use inheritance for the different attribute types. A single class for read access and one for write access might be enough, because we know all the ways in which attributes are stored internally. We don't want more different internal structures in the future. On the contrary, ideally we can consolidate the different storage formats in the future to reduce the need for this indirection. * Remove the need for heap allocations when creating attribute accessors. It includes commits from: * Dalai Felinto * Hans Goudey * Jacques Lucke * Léo Depoix
2020-11-30Fix T83196: bad matrix to quaternion precision near 180 degrees rotation.Alexander Gavrilov
Adjust the threshold for switching from the base case to trace > 0, based on very similar example code from www.euclideanspace.com to avoid float precision issues when trace is close to -1. Also, remove conversions to and from double, because using double here doesn't really have benefit, especially with the new threshold. Finally, add quaternion-matrix-quaternion round trip tests with full coverage for all 4 branches. Differential Revision: https://developer.blender.org/D9675
2020-11-28Speed up finding patch components in new boolean.Howard Trickey
By checking if a cell has already been processed in the finding patch component code, an enormous speedup happens. This only will be noticeable if there are lots of patches, and some cells with a large number of patches.
2020-11-28Speedups for finding cells in new boolean.Howard Trickey
In case where there are coplanar instersections where each part has a lot of triangles, the finding-cells algorithm was very inefficient. This uses a Set instead of a Vector to keep track of a cell's patches, avoids going through all patch x patch combinations, avoids going through all patches to renumber after a merge, and merges smaller patch-sixe cells into larger ones. All this reduces the time to find cells in the cited case by a factor of 10.
2020-11-28Fix T83023: incorrect shape of cyclic F-Curve with only two points.Alexander Gavrilov
The equation solver didn't handle the one unknown case correctly.
2020-11-27Add performance timing to mesh_boolean.cc.Howard Trickey
You can uncomment the PERFDEBUG define to get timings.
2020-11-25Fluid Particles: fix viscoelastic spring threading crash again after D7394.Alexander Gavrilov
Since D6133 fluid particle code uses thread local storage to collect springs created during a time step before adding them to the actual spring array. Prior to the switch to TBB there was a single finalize callback which was called on the main thread, so it could use psys_sph_flush_springs and insert the new entries into the final buffer. However in D7394 it was replaced with a reduce callback, which is supposed to be thread safe and have no side effects. This means that the only thing it can safely do is copy entries to the other temporary buffer. In addition, careful checking reveals that the 'classical' solver doesn't actually add springs, so reduce isn't needed there. Differential Revision: https://developer.blender.org/D9632
2020-11-25Nodes: deduplicate ping pong math operationJacques Lucke
The formula did not change. The only side effect of this change should be that the compositor node now does not divide by zero in some cases.
2020-11-24Speedups for new boolean. Better hash function for verts.Howard Trickey
The existing hash function didn't work well with Set's method of masking to the lower bits, because many verts have zeros in the lower bits. Also, replaced VectorSet with Set for Vert deduping.