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-11-09Fix T102257: Crash when making an Object as Effector set to Guide and trying ↵Germano Cavalcante
to scrub the timeline rB67e23b4b2967 revealed the bug. But the bug already existed before, it just wasn't triggered. Apparently the problem happens because the python code generated in `initGuiding()` cannot be executed twice. The second time the `initGuiding()` code is executed, the local python variables are removed to make way for the others, but the reference to one of the grids in a `Solver` object (name='solver_guiding2') is still being used somewhere. So an error is raised and a crash is forced. The solution is to prevent the python code in `initGuiding()` from being executed twice. When `FLUID_DOMAIN_ACTIVE_GUIDE` is in `fds->active_fields` this indicates that the pointer in `mPhiGuideIn` has been set and the guiding is already computed (does not need to be computed again). Maniphest Tasks: T102257 Differential Revision: https://developer.blender.org/D16416
2022-10-17Cleanup: replace BLI_join_dirfile with BLI_path_joinCampbell Barton
These functions are almost identical, the main difference being BLI_join_dirfile didn't trim existing slashes when joining paths however this isn't an important difference that warrants a separate function.
2022-10-17BLI_path: remove trailing NULL argument to BLI_path_joinCampbell Barton
Using varargs had the disadvantages, replace with a macro which has some advantages. - Arguments are type checked. - Less verbose. - Unintended NULL arguments would silently terminate joining paths. - Passing in a NULL argument warns with GCC.
2022-08-12Cleanup: update comments in MANTA_main.cppCampbell Barton
2022-06-29Mantaflow: disable call to MANTA::terminateMantaflowCampbell Barton
Effectively revert [0] as it ran when freeing individual modifiers, causing a crash on exit in one of the cycles_volume_cpu tests. [0]: 6777c420dbb92523ca9c2acd1fa1f8abce98f88d
2022-06-29Mantaflow: call MANTA::terminateMantaflow on exitCampbell Barton
terminateMantaflow was never called, this leak is more of a technicality since it's only called on exit. Also make Py_Initialize/Py_Finalize optional in Pd:setup/finalize as it caused Blender to crash, finalizing Python twice. Add a patch to extern/mantaflow to keep track of changes in Blender from up-stream.
2022-06-24Fix T98427: Crash adding quick effects smoke from PythonCampbell Barton
Manta flow used the `__main__` namespace which it was executed in, this caused a bug when calculating fluid from Python, which clears it's `__main__` name-space after execution. This caused Manta-flows name space to be cleared too. Resolve this by creating a separate name-space for manta-flow. Reviewed by: SonnyCampbell_Unity Ref D15269
2022-03-18Cleanup: Compilation warningsSergey Sharybin
Mainly -Wset-but-unused-variable. Makes default compilation on macOS way less noisy. Differential Revision: https://developer.blender.org/D14357
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2021-12-14Cleanup: reorganize doxygen modulesCampbell Barton
- Nest compositor pages under the compositor module - Nest GUI, DNA/RNA & externformats modules under Blender. - Remove modules from intern which no longer exist. - Add intern modules (atomic, eigen, glew-mx, libc_compat, locale, numaapi, rigidbody, sky, utfconv). - Use 'intern_' prefix for intern modules since some of the modules use generic terms such as locale & atomic.
2021-02-02Fix T84649: Quick liquid causing crash on scale operationSebastián Barschkis
This commit makes use of the updated fluid sources files (previous commit rB9ad828dbad94d279521875db47a3472a38cc9b29)
2021-01-10Fix T83777: Crash when enabling guidesSebastián Barschkis
Also adjusted adjusted guiding UI parameters so that guiding will not get invalidated when changing domain values.
2020-12-23Fluid: Added new viscosity solverSebastián Barschkis
Mainly updated the Mantaflow version. It includes the new viscosity solver plugin based on the method from 'Accurate Viscous Free Surfaces for Buckling, Coiling, and Rotating Liquids' (Batty & Bridson). In the UI, this update adds a new 'Viscosity' section to the fluid modifier UI (liquid domains only). For now, there is a single 'strength' value to control the viscosity of liquids.
2020-11-26Fluid: Updated Mantaflow source filesSebastián Barschkis
This update introduces two improvements from the Mantaflow repository: (1) Improved particle sampling: - Liquid and secondary particles are sampled more predictably. With all parameters being equal, baked particles will be computed at the exact same position during every bake. - Before, this was not guaranteed. (2) Sparse grid caching: - While saving grid data to disk, grids will from now on be saved in a sparse structure whenever possible (e.g. density, flame but not levelsets). - With the sparse optimization grid cells with a value under the 'Empty Space' value (already present in domain settings) will not be cached. - The main benefits of this optimization are: Smaller cache sizes and faster playback of simulation data in the viewport. - This optimization works 'out-of-the-box'. There is no option in the UI to enable it. - For now, only smoke simulation grids will take advantage of this optimization.
2020-11-06Cleanup: Fluid engine API return typesSebastián Barschkis
Use bool return type where possible instead of int (the return values from fluid object are already boolean instead of int). Also removed several if guards in API functions. If one of the arguments is in fact invalid / nullptr (should not happen though), it better to catch them directly where they failed and not silently escape them.
2020-11-05Fluid: Potential fix for T74559: Adaptive Domain creates lines in smokeSebastián Barschkis
This commit corrects the maximum resolution field in Fluid objects. The field should be set to the maximum possible resolution, i.e. it should not adjust with adaptive domains and stay constant all the time. The reason for this is that this resolution value will be used to scale gravity. And this gravity should be constant for adaptive domains too. It remains to be shown if this issue was the only reason for line-artifacts as seen in T74559.
2020-10-30Fluid: Added APIC simulation methodSebastián Barschkis
Basic support for velocity updates with the APIC method. This commit adds APIC to the already existing dropdown menu for the simulation method. The APIC plugin within Mantaflow has been updated to the latest version.
2020-10-21Fluid: Added obstacle fluid distance parameterSebastián Barschkis
Being able to adjust the distance between fluid and obstacles comes in handy when trying to achieve a fluid motion over inclined obstacles. Depending on the slope of such obstacles, already small adjustments of this value can help when particles stick to obstacle surfaces (i.e. make particles not stick to obstacles).
2020-10-14Fluid: Enabled OpenVDB precision argumentSebastián Barschkis
This way particles can be saved with the custom OpenVDB precision options that were introduced in the latest Mantaflow update.
2020-09-22Fluid: Refactor for initial velocitiesSebastián Barschkis
Removed invel MAC grid since it is sufficient to use the cell centered vec3 representation. When setting initial velocities these will be interpolated by the setter functions.
2020-09-15Liquid Simulation Display Options (GSoC 2020)Sriharsha Kotcharlakot
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch. **Major changes:** === Viewport Display === - //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly. - An option to display //gridlines// when the slicing method is //single//. ==== Grid Display ==== - Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI. ==== Vector Display ==== - //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces. - Made vector display options available for external forces. ==== Coloring options for //gridlines// ==== - Range highlighting and cell filtering options for displaying the simulation grid data more precisely. - Color gridlines with flags. - Also, made slicing and interpolation options available for Volume Object. Reviewed By: JacquesLucke, sebbas Differential Revision: https://developer.blender.org/D8705
2020-09-01Fix T79941: mantaflow cache doesn't work with ' character in pathJacques Lucke
The fix is to escape the `'` character as well. Reviewers: sebbas Differential Revision: https://developer.blender.org/D8773
2020-08-07Merge branch 'blender-v2.90-release'Sebastián Barschkis
2020-08-07Fix T79201: Mantaflow: Fluid guides don't affect simulation.Sebastián Barschkis
This broke during the OpenVDB update for 2.90. Just making sure that guiding velocity files are being read correctly.
2020-08-04Fluid: Do not show fluid if frame is out of cache rangeSebastián Barschkis
Before: If the current frame is out of the cache start/end range, the viewport will show the fluid as it was on the last frame that was still in the cache frame range. Now: If the current frame is out of the cache start/end range, the viewport will show no fluid at all (even if there are cache files present for this frame). This fix is related / in response to T79423.
2020-07-31Fluid: Cleanup and improved readabilitySebastián Barschkis
A collection of multiple changes that had been living in my stash: - Use nullptr instead of NULL in C++ files - Removed unused/deprecated functions from headers - Cleared animatable flag in cache UI - Comment cleanups
2020-07-31Fluid: Refactored Python fluid initialization functionsSebastián Barschkis
Initialization functions now have a return type which will be asserted during fluid object creation.
2020-07-31Fluid: Refactored Python pointer update functionSebastián Barschkis
Use static_cast() where possible and refresh pointers for every frame when in replay mode. The latter is particularly important as this seems to have caused the issue where smoke in the viewport was flickering when loading data from pointers after loading them from disk for the frame before (e.g. when resuming a bake job).
2020-07-26Fluid: Added new option to control the maximum number fluid particles in the ↵Sebastián Barschkis
simulation New option that lets users the define the maximum number of fluid particles that will be allowed in the simulation. This can come in handy, for example, to ensure that the particle count will not exceed the hardware capabilities, or to avoid excessive amounts of particles in a scene.
2020-07-26Fluid: Added new option to control the maximum number fluid particles in the ↵Sebastián Barschkis
simulation New option that lets users the define the maximum number of fluid particles that will be allowed in the simulation. This can come in handy, for example, to ensure that the particle count will not exceed the hardware capabilities, or to avoid excessive amounts of particles in a scene.
2020-07-14Fluid: Fix missing flag update for cacheSebastián Barschkis
These flags need to be set correctly in order to distinguish between data that comes from cache files and raw data that comes directly from pointers to the data in Mantaflow.
2020-07-14Fix T77766: support animated global gravity toggleJacques Lucke
Reviewers: sebbas Differential Revision: https://developer.blender.org/D8281
2020-07-03Cleanup: Fluid renaming from old 'manta' naming to new 'fluid' namingSebastián Barschkis
Changed variable names from mmd, mds, mfs, and mes to fmd, fds, ffs, and fes. The author of this commits lights a candle for all the merge conflicts this will cause.
2020-06-26Fluid: Fix typos from OpenVDB updateSebastián Barschkis
Some typos that were not noticed in 995185894289.
2020-06-25Fix T77285: Incorrect Mantaflow fluid border interaction when collision is ↵Sebastián Barschkis
turned off Incorrect boolean for 'open' domain borders.
2020-06-24Fluid: Improved OpenVDB support for fluid cachesSebastián Barschkis
This commit makes uses of the new OpenVDB IO in Mantaflow (introduced in 781f783a66ac). From now on, fluid cache files in OpenVDB format will contain a list of grids per frame (before: one .vdb file per grid per frame). Besides regular grids, particle systems are also stored using OpenVDBs PointGrid data structures. All older cache formats will remain fully functional: - Uni caches (.uni) files are still available from the UI and can be used as before - Raw caches (.raw) are no longer available from the UI, but loading them is still possible - Old OpenVDB caches (one .vdb per grid) can no longer be baked either, but loading them is still possible. It is also no longer possible to choose file formats for 'Noise' and 'Particles'. Instead there are now options to set the file format for 'Volumetric' and for 'Mesh' data. Known issues (planned to be resolved soon): - OpenVDB files are currently not taking into consideration the clipping value (FluidDomainSettings). Empty cells are therefore being written too. Depending on the scene, this can make file sizes unnecessarily large. - Domains are not being exported at their world position. Instead they are always clipped to the origin.
2020-06-05Fluid: Cleanup internal Python object namesSebastián Barschkis
Manta Python objects should not carry the global ID in their names.
2020-05-19Fluid: Cleanup unused variablesSebastián Barschkis
2020-05-18Merge branch 'blender-v2.83-release'Sebastián Barschkis
2020-05-18Fix T76814: [Mantaflow] Surface Tension always worksSebastián Barschkis
Initialize the curvature grid and compute the laplacian only if the diffusion flag is set.
2020-05-18Manta: Cleanup, strict compiler flagSergey Sharybin
For some reason was only visible with gcc-10 in release builds. Kind of makes sense since there is no CMake code which removes strict compiler flag, so deal with strict flags in the code itself.
2020-05-17Fix: Build error with MSVCRay Molenkamp
A parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax. Removing the cast seems fine for both MSVC and GCC
2020-05-17Fluid: Foundation for new OpenVDB file IOSebastián Barschkis
This commit lays the foundation for support for OpenVDB caching with multiple grids per cache file.
2020-05-17Fluid: Cleanup namespace stdSebastián Barschkis
2020-05-13Fluid: Fix for refactor 99ee1de094a1Sebastián Barschkis
Fix incorrect file IO functions.
2020-05-12Merge branch 'blender-v2.83-release'Jacques Lucke
2020-05-12Fix T75889: Cannot bake mantaflow via Python APIJacques Lucke
The issue was the usage of the global `__main__` Python module. When running scripts in the text editor, Blender would overwrite the `__main__` module. Reviewers: sebbas Differential Revision: https://developer.blender.org/D7690
2020-05-12Fluid: remove special treatment for running Python code on windowsJacques Lucke
We discussed this in D7690 and could not find a reason for this code anymore. It might just be leftover from some even older code.
2020-05-07Fluid: Use cached value for total time valueSebastián Barschkis
The old time_total initialization was in trouble if scenes made use of a variable framelength (e.g. by animating the time scale parameter).
2020-05-04Merge branch 'blender-v2.83-release'Sebastián Barschkis