Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
with OpenVDB in 2.83
Config files always use the .uni extenstion.
|
|
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).
|
|
Includes only a rename. The name PyInit_Main was a bit confusing as it just belongs to Manta.
|
|
Belongs to T73921. This commit fixes the crashes with light baking (disabled in f3a33a92987f). There is still a memory leak to be fixed though.
|
|
This is more in line with standard grids and means we don't have to make
many special exceptions in the upcoming change for arbitrary number of volume
grids support in Eevee.
The workbench shader was also changed to fix bugs where squared density was
used, and the smoke color would affect the density so that black smoke would
be invisible. This can change the look of smoke in workbench significantly.
When using the color grid when smoke has a constant color, the color grid
will no longer be premultiplied by the density. If the color is constant
we want to be able not to store a grid at all. This breaks one test for
Cycles and Eevee, but the setup in that test using a color without density
does not make sense. It suffers from artifacts since the unpremultiplied
color grid by itself will not have smooth boundaries.
Differential Revision: https://developer.blender.org/D6951
|
|
Now it crashes instead.
|
|
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.
|
|
For optimization purposes these settings need to be enabled explicitly from now on.
|
|
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).
|
|
Just a sanity check.
|
|
Use flags instead of obstacle to avoid confusion with obstacle levelset grid.
|
|
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
|
|
|
|
This will more important when we start using OpenVDB in more modules.
|
|
* Address warning because of undefined OPENVDB usage
* Remove unused WITH_FLUID definitions
Differential Revision: https://developer.blender.org/D6919
|
|
Updates in the files include:
- New manta files now use an platform independent gzopen function
- Adjusted argument name for vorticity
|
|
|
|
paths
Some fluid cache functions were not using Blender's more secure BLI_gzopen() function. On Windows there are some special cases which this function can handle compared to the plain gzopen().
|
|
|
|
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
|
|
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
Second landing of this patch, earlier commit was reverted due to some compiler configurations having slipped though testing
[1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance
Differential Revision: https://developer.blender.org/D6824
Reviewed By: brecht
|