Age | Commit message (Collapse) | Author |
|
- 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.
|
|
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.
|
|
The flood-fill helper serves as a sanity check for scenes with complex obstacles. Similarly to the holes filler function it ensures that there are no holes in obstacles.
In addition, it ensures that there will be no holes resulting from multiple intersecting obstacles.
In general, this commit should improve stability.
|
|
The OpenVDB update added a load() function. This function clashes with a helper IO function (only used when exporting and running the simulation externally) that was also named load().
|
|
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.
|
|
File format options for noise and particles are not needed anymore (since OpenVDB update).
|
|
This refactor is in response to reports in which the adaptive domain with noise caused a crash (e.g. T79009). It should also fix issues where the smoke appeared to be cut off when using the adaptive domain together with noise. It is also possible that some of these changes improve the lines issue from T74559.
|
|
Some typos that were not noticed in 995185894289.
|
|
turned off
Incorrect boolean for 'open' domain borders.
|
|
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.
|
|
Manta Python objects should not carry the global ID in their names.
|
|
This commit lays the foundation for support for OpenVDB caching with multiple grids per cache file.
|
|
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.
|
|
diverged, residual norm > 1e30
Ensures that there are no enclosed holes between an obstacle and the domain walls.
|
|
time-steps
Problem was mentioned in T74062.
|
|
Make sure that noise uses the unaltered velocity grid. This is particularly important once external velocities get added to the velocity grid.
|
|
The solver will now automatically detect static scenes (no moving obstacles) and use a slightly faster pressure solve in those cases.
|
|
Changes from that commit turned out to be unstable.
|
|
Reduced extrapolation distances, no need to extrapolate that far.
|
|
Somehow this was forgotton in the optimization patch a5c4a44df67e.
|
|
This commit adds bounding box support for emission objects - similarly to flow objects. Before, each effector object had to iterate over the entire domain. Bake times of scenes with multiple obstacles improved significantly with this optimization.
Other improvements that were implemented alongside the bbox feature:
- Option for subframe sampling for effector objects
- Option to enable / disable effectors (can be animated)
- Optimization for static objects. If a flow or effector object does not move and the adaptive domain is not in use, the bake time will be optimized further by reusing the flow / effector grids from the previous frame (no recalculation).
|
|
Simple checkbox that - if enabled - will tell the solver to clear density or liquid particles in obstacle cells.
|
|
Too much extrapolation can become expensive. Reducing it here since extrapolating levelsets into a couple of cells should be sufficient.
|
|
Use greater boundary width for smoke simulations
|
|
Updates in the files include:
- New manta files now use an platform independent gzopen function
- Adjusted argument name for vorticity
|
|
Various fixes for smoke / fire flow objects:
- Apply inflow at every subframe (new: also emit during adaptive steps in between frames)
- Fix issue with fire not being emitted on first frame
- Higher value range for smoke flow density variable
|
|
Reverting some changes that were made in 33317b464777
|
|
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
|
|
Exported Manta script was missing the new resume options in the data load functions.
|
|
|
|
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.
|
|
into Mantaflow
Having this loop in directly Manta is faster and potentially fixes issues T72783 and T72894.
|
|
This had already been removed for all source files,
recent patches re-introduced them.
|
|
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
|