Age | Commit message (Collapse) | Author |
|
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.
|
|
This seems to be an error in rBb91b90f0dd3c9bff3b1a6e563c2cce293722ed16.
I found it, because I could not open the file in T77263 anymore.
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D8065
|
|
Manta Python objects should not carry the global ID in their names.
|
|
|
|
Makes use of the new particle skipping option introduced in f25a882955cb.
|
|
|
|
Adapted mesh generation to account for domains with disabled fractionstoo.
|
|
|
|
|
|
Initialize the curvature grid and compute the laplacian only if the diffusion flag is set.
|
|
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.
|
|
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
|
|
This commit lays the foundation for support for OpenVDB caching with multiple grids per cache file.
|
|
|
|
Fix incorrect file IO functions.
|
|
|
|
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
|
|
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.
|
|
Secondary particles are now compatible with the new gravity setup.
|
|
Scale from domain.
Removed time scale from another conversion factor. See also changes from 6400f54b4cc6.
|
|
The old time_total initialization was in trouble if scenes made use of a variable framelength (e.g. by animating the time scale parameter).
|
|
Removed timescale from conversion factor - factors should stay constant even if timescale changes.
|
|
|
|
with OpenVDB in 2.83
Config files always use the .uni extenstion.
|
|
Use booleans instead of 0 / 1 in Python
|
|
Moved std namespace to beginning of class.
|
|
Use shorter variable names.
|
|
This function needed a bigger cleanup, especially after the problem from T76276.
|
|
MANTA_main.cpp
The compiler error should be fixed by removing the 'else if' blocks. However, this function should still be refactored in the future.
|
|
Refactored setup that converts from Blender to Mantaflow units.
|
|
Emission values should not accumulate beyond one frame, only during the adaptive steps of one frame.
|
|
Fixes issue with flow and effector objects which were not being used after resuming a bake job.
This issue has been reported in T75729 and T75758.
|
|
More concise return types for cache import functions and general cleanup.
|
|
Saving noise cache files is handled in fluid.c.
|
|
diverged, residual norm > 1e30
Ensures that there are no enclosed holes between an obstacle and the domain walls.
|
|
Fixed an issue that was likely introduced in a past cleanup.
|
|
time-steps
Problem was mentioned in T74062.
|
|
Issue was that the noise simulation was trying to bake with a minimized domain size (adaptive domain initializes domain with size (1,1,1)). Similarly to the base resolution bake, there should be no noise baking happening at those domain sizes - a domain at this size is considered empty.
|
|
Fix for new assertion statements that were introduced in bfdc42d9906a.
|
|
Make sure that noise uses the unaltered velocity grid. This is particularly important once external velocities get added to the velocity grid.
|
|
This refactor cleans up code for the Manta file IO. It also improves the cache 'Replay' option.
|
|
Refactored the caching system so that return values are no longer ignored. The aim of this refactor was to make the caching more robust.
|
|
|
|
Improved loading times for mesh files by reading bigger chunks of data from the disk at once.
|
|
Improved loading times for particles files by reading bigger chunks of data from the disk at once.
|
|
Currently results in unstable particle behavior and incorrect meshing.
|
|
Small tweak to ensure index will not run out of bounds during secondary particle computation.
|
|
Planar object now have a thickness by default. This should make it more intuitive for users as there is no need to specify an object thickness.
|
|
Phi that is used for mesh should be the one that matches particles best.
|
|
Bubbles are one frame ahead of Mesh
Fixes an issue with secondary particles being out of sync with the main simulation. Cleaned up the secondary particle code in general too (making sure that all solver attributes - timestep, framelength, etc. - are set correctly).
|