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
2019-12-18Cleanup: const warning, unused varCampbell Barton
2019-12-18Image Editor: Load UDIMs even if secondary tile is selectedLukas Stockner
Previously the user had to select the 1001 tile for this to work, now any tile will work as long as the 1001 tile still exists on disk.
2019-12-17Cleanup: redundant struct declarationsCampbell Barton
2019-12-16Fix T72467: Crash when using many (>64) images in a shaderLukas Stockner
Previously this limit was rather high, but with UDIMs it's fairly easy to reach this many images. Even though this exceeds the texture limit on most hardware as far as I can tell, it should at least not crash. The old code uses a fixed array which overflows eventually, this fix replaces the array with a GSet. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6416
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
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-12-07Maths Node: Additional functionsCharlie Jolly
When creating shaders and using maths functions it is expected that Blender should match functions in other DCC applications, game engines and shading languages such as GLSL and OSL. This patch adds missing functions to the Blender maths node. Ideally, it would be nice to have these functions available to vectors too but that is not part of this patch. This patch adds the following functions trunc, snap, wrap, compare, pingpong, sign, radians, degrees, cosh, sinh, tanh, exp, smoothmin and inversesqrt. Sign function is based on GLSL and OSL functions and returns zero when x == 0. Differential Revision: https://developer.blender.org/D5957
2019-11-27Sculpt/Paint: Move Elastic Deform Kelvinlets to BKEPablo Dobarro
After this commit it should be possible to share the same deformation formulas that are used in the Elastic Deform brush with other areas of Blender such as Grease Pencil or proportional editing. This also removes a lot of code from sculpt.c that is not direclty related to sculpting. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6281
2019-11-27Fix T30941: Add cloth air pressure simulationSebastian Parborg
This adds some basic simulation of internal air pressure inside of closed cloth mesh objects. Reviewed By: Jacques Lucke Differential Revision: http://developer.blender.org/D5473
2019-11-26Fix quaternion compatibility functionCampbell Barton
Use closest quaternion instead of only checking w sign flipping, which didn't catch all cases. T
2019-11-26BLI_task: Add pooled threaded index range iterator, Take II.Bastien Montagne
This code allows to push a set of different operations all based on iterations over a range of indices, and then process them all at once over multiple threads. This commit also adds unit tests for both old un-pooled, and new pooled task_parallel_range family of functions, as well as some basic performances tests. This is mainly interesting for relatively low amount of individual tasks, as expected. E.g. performance tests on a 32 threads machine, for a set of 10 different tasks, shows following improvements when using pooled version instead of ten sequential calls to BLI_task_parallel_range(): | Num Items | Sequential | Pooled | Speed-up | | --------- | ---------- | ------- | -------- | | 10K | 365 us | 138 us | 2.5 x | | 100K | 877 us | 530 us | 1.66 x | | 1000K | 5521 us | 4625 us | 1.25 x | Differential Revision: https://developer.blender.org/D6189 Note: Compared to previous commit yesterday, this reworks atomic handling in parallel iter code, and fixes a dummy double-free bug. Now we should only use the two critical values for synchronization from atomic calls results, which is the proper way to do things. Reading a value after an atomic operation does not guarantee you will get the latest value in all cases (especially on Windows release builds it seems).
2019-11-25Revert "BLI_task: Add pooled threaded index range iterator."Bastien Montagne
This reverts commit f9028a3be1f77c01edca44a68894e2ba9d9cfb14. This is giving weird heisenbug crash on only Windows release builds... Reverting until we understand to issue.
2019-11-25Revert "Cleanup: Unused variable in release build mode"Bastien Montagne
This reverts commit e0cada951982093453a91b80342ce20c4f421fc8.
2019-11-25Cleanup: Unused variable in release build modeSergey Sharybin
Thanks Bastien for code review!
2019-11-25BLI_task: Add pooled threaded index range iterator.Bastien Montagne
This code allows to push a set of different operations all based on iterations over a range of indices, and then process them all at once over multiple threads. This commit also adds unit tests for both old un-pooled, and new pooled `task_parallel_range` family of functions, as well as some basic performances tests. This is mainly interesting for relatively low amount of individual tasks, as expected. E.g. performance tests on a 32 threads machine, for a set of 10 different tasks, shows following improvements when using pooled version instead of ten sequential calls to `BLI_task_parallel_range()`: | Num Items | Sequential | Pooled | Speed-up | | --------- | ---------- | ------- | -------- | | 10K | 365 us | 138 us | 2.5 x | | 100K | 877 us | 530 us | 1.66 x | | 1000K | 5521 us | 4625 us | 1.25 x | Differential Revision: https://developer.blender.org/D6189
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-22Fix T71273: Bad encoding of utf-8 for Text objectsmano-wii
`BLI_strncpy_wchar_from_utf8` internally assumes `wchar_t` is 32 bits which is not the case on windows. The solution is to replace `wchar_t` with `char32_t`. Thanks to @robbott for compatibility on macOS. Differential Revision: https://developer.blender.org/D6198
2019-11-21Cleanup: spellingCampbell Barton
One of the corrections from last cleanup was wrong.
2019-11-20Cleanup: commentsCampbell Barton
2019-11-13Cleanup: correct mul_v4_v4fl declarationJorge Bernal
2019-11-09Fluid Particles: fix threading crash with viscoelastic springs.Alexander Gavrilov
As correctly pointed out by a comment in the code, adding new springs wasn't thread safe, and caused crashes. Fix by buffering new springs in intermediate thread-local arrays, which are flushed on the main thread. This is valid because the new springs are not used until the next sim step. Differential Revision: https://developer.blender.org/D6133
2019-11-08Windows: Switch to the dynamic C runtimeRay Molenkamp
This change switches windows to the dynamic C runtime avoiding issues coming from mixing the static and dynamic runtime like the ones outlined in [1] [1] https://developer.blender.org/D5387#122165 Differential Revision: https://developer.blender.org/D6175 Reviewed by: @Sergey
2019-11-08Merge branch 'blender-v2.81-release'Campbell Barton
2019-11-08Cleanup: spellingCampbell Barton
2019-11-08Cleanup: clang-formatCampbell Barton
2019-11-06Merge branch 'blender-v2.81-release'Brecht Van Lommel
2019-11-06Fix T70952: EXR files bigger than 2GB don't open on WindowsBrecht Van Lommel
2019-11-05Fixed delaunay check, was causing 'desperation' messages.Howard Trickey
Check was losing precision -- adjust by translating points before calculating circumcircle. Also, needed to check for flippability of edges before flipping.
2019-11-05Fixed delaunay check, was causing 'desperation' messages.Howard Trickey
Check was losing precision -- adjust by translating points before calculating circumcircle. Also, needed to check for flippability of edges before flipping.
2019-10-30BLI_task: Add new generic `BLI_task_parallel_iterator()`.Bastien Montagne
This new function is part of the 'parallel for loops' functions. It takes an iterator callback to generate items to be processed, in addition to the usual 'process' func callback. This allows to use common code from BLI_task for a wide range of custom iteratiors, whithout having to re-invent the wheel of the whole tasks & data chuncks handling. This supports all settings features from `BLI_task_parallel_range()`, including dynamic and static (if total number of items is knwon) scheduling, TLS data and its finalize callback, etc. One question here is whether we should provide usercode with a spinlock by default, or enforce it to always handle its own sync mechanism. I kept it, since imho it will be needed very often, and generating one is pretty cheap even if unused... ---------- Additionaly, this commit converts (currently unused) `BLI_task_parallel_listbase()` to use that generic code. This was done mostly as proof of concept, but performance-wise it shows some interesting data, roughly: - Very light processing (that should not be threaded anyway) is several times slower, which is expected due to more overhead in loop management code. - Heavier processing can be up to 10% quicker (probably thanks to the switch from dynamic to static scheduling, which reduces a lot locking to fill-in the per-tasks chunks of data). Similar speed-up in non-threaded case comes as a surprise though, not sure what can explain that. While this conversion is not really needed, imho we should keep it (instead of existing code for that function), it's easier to have complex handling logic in as few places as possible, for maintaining and for improving it. Note: That work was initially done to allow for D5372 to be possible... Unfortunately that one proved to be not better than orig code on performances point of view. Reviewed By: sergey Differential Revision: https://developer.blender.org/D5371
2019-10-22Merge branch 'blender-v2.81-release'Campbell Barton
2019-10-22BLI_math: support MATH_STANDALONE without EigenCampbell Barton
2019-10-20Shrinkwrap: improve numerical stability of Target Normal Project.Alexander Gavrilov
* Add proper adjustment for scale in the solver epsilon computation. * Run at least one full iteration of the solver, even if the initial state meets the epsilon requirement. * When applying offset, blend normal into the offset direction as the initial point moves very close to the target mesh. Also random improvements to debug trace output in the console.
2019-10-15Merge branch 'blender-v2.81-release'Dalai Felinto
2019-10-15Cleanup: Fix warningsDalai Felinto
2019-10-12Cleanup: clang-formatCampbell Barton
2019-10-12Cleanup: warningsCampbell Barton
2019-10-10File Browser: add back Delete, which now moves files to the trashRobert Guetzkow
In Blender 2.7 delete would permanently delete files, now this function is back but using more standard behavior. This patch includes code contributed by Kris (Metricity). Differential Revision: https://developer.blender.org/D4585
2019-10-10Cleanup: clang-format, spellingCampbell Barton
2019-10-09Fix Delaunay 2d valid bmesh mode bug.Howard Trickey
Wasn't checking for repeated vertices. Also, made choices of edges to keep more aesthetically pleasing.
2019-10-09Fix T70594: mathutils.geometry.tessellate_polygon flips trianglesmano-wii
Some scripts will need to be updated to support this.
2019-10-08CTest: Fix failing test BLI_expr_pylike_eval_test on clang/windowsRay Molenkamp
clang got a little to aggressive discarding unused variables see D6012 for details. Differential Revision: https://developer.blender.org/D6012 Reviewers: brecht, sergey, angavrilov
2019-10-03Cleanup: unused structs, struct membersCampbell Barton
2019-10-03Cleanup: argument naming, redundant NULL checksCampbell Barton
2019-10-01Cleanup: convert some macros to functionsBrecht Van Lommel
2019-10-01BLI: optimize GSQueue implementation to allocate in chunks, like BLI_StackBrecht Van Lommel
2019-09-30Cleanup: spellingCampbell Barton
2019-09-30Revert "macOS: Replaced OSSpinLock with os_unfair_lock."Stefan Werner
This reverts commit 9d282d7a8d689a17ae58e94453ae99a41e91b701. os_unfair_lock requires macOS 10.12 or newer.
2019-09-29Fix T69935: Silence Win32 OS Error DialogsHarley Acheson
Call SetErrorMode() at startup to prevent error mode dialogs. Differential Revision: https://developer.blender.org/D5941 Reviewed by Brecht Van Lommel