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-13Revert "Cleanup/MSVC: Enable C++ conformance mode on compiler versions that ↵Ray Molenkamp
support it." It is breaking compilation on some configurations, revert for now while i see what is wrong. This reverts commit 9fe469c110940af5d2525158305d5d365bd15276.
2020-02-12Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.Ray Molenkamp
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly enforced. This mode is available on MSVC 15.5+ [1] This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process. - Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour. - Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard. - Ghost had some scoping issues regarding uninitialized variables and goto behaviour [1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance Differential Revision: https://developer.blender.org/D6824 Reviewed By: brecht
2020-02-11Cleanup: extra semicolons, comma use, undeclared varsCampbell Barton
2020-02-09Fluid: Optimization for fluid domain obstacle boundary handlingSebastián Barschkis
This fix should especially improve liquid obstacles boundaries, i.e. help with the problem of particles sticking to the surface.
2020-02-09Fluid: Fixed file formats for script exporterSebastián Barschkis
File formats in the exported scripts were using hardcoded file extensions and not the ones specified in the UI.
2020-02-09Fluid: Fixes for fluid guidingSebastián Barschkis
Fluid guiding functionality was broken in the bake / read cache loop in fluid.c. Committing this to the release branch as otherwise fluid guiding would not have worked as expected (i.e. not at all).
2020-02-07Fluid: Fixed cache reading issue with larger resolution noise gridsSebastián Barschkis
Important fix that needs to go into the release. The upscaled noise cache was not read into upscaled grids.
2020-02-07OpenVDB: Added missing macros in fluid wrapper fileSebastián Barschkis
These were needed to compile when WITH_FLUID=1 and WITH_OPENVDB=0.
2020-02-07Fluid: Fixed try/catch exception issue and unsed variable issueSebastián Barschkis
Sergey just pointed this out, fixing in it the release branch to avoid any compilation issues during the actual release. Thx!
2020-02-06Fix: Build error on windows in bf_intern_mantaflowRay Molenkamp
bf_intern_mantaflow lacked the `-DOPENVDB_STATICLIB` define causing it to dynamically import openvdb, linked against our static libs a happy time was not had by the linker.
2020-02-06OpenVDB: Fix IOError in try catch statementSebastián Barschkis
Broader exception handling for OpenVDB IO errors.
2020-02-06Fluid: Fixed slow cache loading for smoke dataSebastián Barschkis
Cache files are currently loaded via the Manta Python API. With very big caches this can slow down the viewport playback. Especially smoke simulations, which just load grids and no meshes, can suffer from this. This fix solves this problem by directly loading the cache files from disk (no Python). This fix has been in the works for some time. The developer of this patch is ready to handle any potential fall-out of this patch quickly.
2020-01-31Fluid: More stable flow emissionSebastián Barschkis
Reverting some changes that were made in 33317b464777
2020-01-29Fluid: Fixes for flow objects and initial velocitiesSebastián Barschkis
This commit cleans up the flow emission code (i.e. the code that determines where flow is generated). It also addresses an issue with initial velocities. Related issues (that might be fixed through this commit) are: T73422, T72949
2020-01-24Fluid: Added resume cache boolean to standalone scriptsSebastián Barschkis
Exported Manta script was missing the new resume options in the data load functions.
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-22Fluid: Cleaned up functions that deal with Python objects (C-API)Sebastián Barschkis
This commit belongs to T72894. It's related to (my) previous commits on pointer exchanges (today + yesterday). It cleans up the functions by describing their usage in the comments, adds additional nullptr checks, and fixes the reference count responsibilities of newly created PyObjects.
2020-01-22Fluid: Refactored Mantaflow <-> Blender pointer exchange once moreSebastián Barschkis
2020-01-22Fix T73311: Mantaflow > Liquid: Enabling Initial Velocity on Inflow / ↵Sebastián Barschkis
Outflow crashes Blender
2020-01-22Fix T72894: Mantaflow: several crashes due to null pointersSebastián Barschkis
Incorporated LazyDodo's suggestions from the task.
2020-01-21Fluid: Refactored the Mantaflow <-> Blender pointer exchange function and ↵Sebastián Barschkis
switched to from NULL to nullptr in cpp files
2020-01-20Fluid: Fix typo in smoke scriptSebastián Barschkis
2020-01-20Fluid: Improved cache file loadingSebastián Barschkis
Cache file loading for mesh and particle files now works through the direct update_structures functions. The final cache mode now also only bakes the most essential files and is therefore not resumable anymore.
2020-01-16Fluid: Fix for mesh velocitiesSebastián Barschkis
Was using incorrect file format when reading mesh velocities from cache
2020-01-15Fix T73111: Bake data of fluid causes crash of BlenderSebastián Barschkis
2020-01-15Fluid: Moved grid reset loop for inner obstacle cells from blenkernel code ↵Sebastián Barschkis
into Mantaflow Having this loop in directly Manta is faster and potentially fixes issues T72783 and T72894.
2019-12-21Fluid: Ensure GIL in conversion functionSebastián Barschkis
2019-12-17Manta: Fix using path as an input and outputSergey Sharybin
It is not guaranteed that the function will give correct result in such an overlapping inputs. @sebbas please verify this.
2019-12-17Cleanup: renaming guiding -> guideCampbell Barton
The term guide makes sense on it's own in this context.
2019-12-17Cleanup: remove contributors, license begin/end & doxy file argumentCampbell Barton
This had already been removed for all source files, recent patches re-introduced them.
2019-12-16Mantaflow [Part 2]: Added fluid wrapper filesSebastián Barschkis
Files from /intern/mantaflow handle the communication between core Blender code and Mantaflow itself. It's the bridge to communicate with Mantas Python functions. Code from /intern/mantaflow/intern/strings/ is pure Manta code and would likely need less attention in the review. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3851