Jacques Lucke
a50c131a0d
Fix T75889: Cannot bake mantaflow via Python API
...
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-12 12:18:09 +02:00
Jacques Lucke
2008bcb0bb
Fluid: remove special treatment for running Python code on windows
...
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-12 12:18:09 +02:00
Sebastián Barschkis
385559843e
Fluid: Adjusted secondary particles timestep and gravity options
...
Secondary particles are now compatible with the new gravity setup.
2020-05-08 16:59:11 +02:00
Sebastián Barschkis
18f833be29
Additional fix for T76426: Mantaflow Liquid - Gravity not respecting Time Scale from domain.
...
Removed time scale from another conversion factor. See also changes from 6400f54b4c .
2020-05-08 13:11:39 +02:00
Sebastián Barschkis
ab122c73ba
Fluid: Use cached value for total time value
...
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-07 17:33:35 +02:00
Sebastián Barschkis
6400f54b4c
Fix T76426: Mantaflow Liquid - Gravity not respecting Time Scale from domain.
...
Removed timescale from conversion factor - factors should stay constant even if timescale changes.
2020-05-07 17:33:35 +02:00
Sebastián Barschkis
375a50dad9
Merge branch 'blender-v2.83-release'
2020-05-04 18:18:15 +02:00
Sebastián Barschkis
8b5868cc15
Fix T75883: Smoke simulations with Adaptive Domain broken for 'Final' bakes with OpenVDB in 2.83
...
Config files always use the .uni extenstion.
2020-05-04 18:16:09 +02:00
Sebastián Barschkis
6ea71cb104
Fluid: Fix for refactor 99ee1de094
...
Use booleans instead of 0 / 1 in Python
2020-05-04 13:39:05 +02:00
Sebastián Barschkis
70fe988dc4
Fluid: Cleanup use of std in MANTA wrapper
...
Moved std namespace to beginning of class.
2020-05-03 21:10:52 +02:00
Sebastián Barschkis
82f9ed9305
Fluid: Cleanup in main MANTA wrapper
...
Use shorter variable names.
2020-05-03 21:10:52 +02:00
Sebastián Barschkis
99ee1de094
Fluid: Refactored 'Modifier Data to Python' value transfer function
...
This function needed a bigger cleanup, especially after the problem from T76276.
2020-05-03 21:10:51 +02:00
Sebastián Barschkis
713ad9d971
Fix T76276: Compiler Error C1061 due to too many nested if/else in 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.
2020-04-30 20:54:53 +02:00
Sebastián Barschkis
21485e94aa
Fluid: Refactored fluid gravity settings
...
Refactored setup that converts from Blender to Mantaflow units.
2020-04-30 17:33:22 +02:00
Sebastián Barschkis
4d63dfca4c
Fluid: Reset noise emission value at the beginning of an adaptive frame
...
Emission values should not accumulate beyond one frame, only during the adaptive steps of one frame.
2020-04-30 15:42:44 +02:00
Sebastián Barschkis
fdea3dd7e7
Fluid: Fix for inconsistent behavior with flow and effector objects
...
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.
2020-04-22 16:18:13 +02:00
Sebastián Barschkis
abdd4117b1
Fluid: Cleanup in MANTA main class
...
More concise return types for cache import functions and general cleanup.
2020-04-22 16:16:23 +02:00
Sebastián Barschkis
40e9dc638b
Fluid: Remove noise bake call from Python
...
Saving noise cache files is handled in fluid.c.
2020-04-22 16:16:23 +02:00
Sebastián Barschkis
06e3df4ce4
Fix T75681: Mantaflow crash when trying to bake a cupcake: The CG solver diverged, residual norm > 1e30
...
Ensures that there are no enclosed holes between an obstacle and the domain walls.
2020-04-22 16:16:23 +02:00
Sebastián Barschkis
020d1e23ae
Fluid: Fix issue with mesh not being loaded
...
Fixed an issue that was likely introduced in a past cleanup.
2020-04-08 16:26:20 +02:00
Sebastián Barschkis
c2cb87f897
Fluid: Fix problem with inconsistent noise when using multiple adaptive time-steps
...
Problem was mentioned in T74062.
2020-04-08 13:27:12 +02:00
Sebastián Barschkis
4a83832120
Fix T74828: Fluid: Crash with Fire/Smoke Noise
...
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.
2020-04-07 14:31:33 +02:00
Sebastián Barschkis
ea78f9922e
Fluid: Fixed assertion error
...
Fix for new assertion statements that were introduced in bfdc42d990 .
2020-04-07 14:31:33 +02:00
Sebastián Barschkis
71a52bbe2a
Fluid: Ensure correct velocities for noise bake
...
Make sure that noise uses the unaltered velocity grid. This is particularly important once external velocities get added to the velocity grid.
2020-04-06 17:48:32 +02:00
Sebastián Barschkis
70b061b4fd
Fluid: Refactored caching in main Mantaflow class
...
This refactor cleans up code for the Manta file IO. It also improves the cache 'Replay' option.
2020-04-03 17:37:37 +02:00
Sebastián Barschkis
bfdc42d990
Fluid: Refactored MANTA class
...
Refactored the caching system so that return values are no longer ignored. The aim of this refactor was to make the caching more robust.
2020-04-03 17:37:25 +02:00
Campbell Barton
04fe37f931
Cleanup: quiet shadow warnings with ghost & mantaflow
2020-04-03 16:15:57 +11:00
Sebastián Barschkis
1280f3c0ae
Fluid: Optimization for mesh file loading
...
Improved loading times for mesh files by reading bigger chunks of data from the disk at once.
2020-03-30 17:32:38 +02:00
Sebastián Barschkis
7d59f84708
Fluid: Optimization for liquid / secondary particle file loading
...
Improved loading times for particles files by reading bigger chunks of data from the disk at once.
2020-03-29 21:31:20 +02:00
Sebastián Barschkis
5cf6689019
Fluid: Removed obstacle levelset optimization
...
Currently results in unstable particle behavior and incorrect meshing.
2020-03-27 00:16:34 +01:00
Sebastián Barschkis
04ab677761
Fluid: Small fix for secondary particles
...
Small tweak to ensure index will not run out of bounds during secondary particle computation.
2020-03-25 16:08:05 +01:00
Sebastián Barschkis
cda81d5a4d
Fluid: Enforce minimum thickness to planar flow / effector objects
...
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.
2020-03-23 23:50:39 +01:00
Sebastián Barschkis
e9629e3cfd
Fluid: Use different phi for levelset generation
...
Phi that is used for mesh should be the one that matches particles best.
2020-03-23 23:50:39 +01:00
Sebastián Barschkis
0c571db4ad
Fix T73988: Mantaflow fluid simulation - Particles for Spray, Foam and 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).
2020-03-22 21:46:43 +01:00
Sebastián Barschkis
7f3e84deb5
Fluid: Updated manta pp files
...
Includes only a rename. The name PyInit_Main was a bit confusing as it just belongs to Manta.
2020-03-17 11:57:04 +01:00
Sebastián Barschkis
93ac4709eb
Fluid: Potential fix for Eevee tests crashing with Mantaflow
...
Belongs to T73921. This commit fixes the crashes with light baking (disabled in f3a33a9298 ). There is still a memory leak to be fixed though.
2020-03-13 15:34:07 +01:00
Brecht Van Lommel
c8acb6dd6c
Smoke: put density/color in separate textures, fixes for workbench shader
...
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
2020-03-11 14:42:46 +01:00
Brecht Van Lommel
81c18c2507
Fix part of T73921: hang with Eevee light baking and Mantaflow
...
Now it crashes instead.
2020-03-09 17:11:24 +01:00
Sebastián Barschkis
5539b68009
Fluid: Optimization for smoke simulation (multigrid)
...
The solver will now automatically detect static scenes (no moving obstacles) and use a slightly faster pressure solve in those cases.
2020-03-07 19:57:06 +01:00
Sebastián Barschkis
b4f1edd98b
Fluid: Revert bc2ce31d79 (changes to open boundaries)
...
Changes from that commit turned out to be unstable.
2020-03-06 15:01:30 +01:00
Sebastián Barschkis
950a35e353
Fluid: More optimizations in smoke / liquid scripts
...
Reduced extrapolation distances, no need to extrapolate that far.
2020-03-05 14:22:51 +01:00
Sebastián Barschkis
cd0a6ff5c4
Fluid: Diffusion settings now optional
...
For optimization purposes these settings need to be enabled explicitly from now on.
2020-03-05 12:36:00 +01:00
Sebastián Barschkis
4ccbbd3080
Fix T74446: Liquid Inflow Does Not Work
...
Somehow this was forgotton in the optimization patch a5c4a44df6 .
2020-03-05 11:41:09 +01:00
Sebastián Barschkis
a5c4a44df6
Fluid: Bounding boxes for effector objects
...
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).
2020-03-04 18:46:48 +01:00
Sebastián Barschkis
3c74d45c9e
Fluid: Added sanity grid initializations in smoke / liquid scripts
...
Just a sanity check.
2020-03-04 18:46:48 +01:00
Sebastián Barschkis
bf8a73b4a7
Fluid: Naming cleanup for flags grid
...
Use flags instead of obstacle to avoid confusion with obstacle levelset grid.
2020-03-04 18:46:48 +01:00
Sebastián Barschkis
6958ec3f7f
Fluid: Added an option to delete fluid inside obstacles
...
Simple checkbox that - if enabled - will tell the solver to clear density or liquid particles in obstacle cells.
2020-03-04 18:46:48 +01:00
Sebastián Barschkis
b32fd73b24
Fluid: Optimization for extrapolation functions in smoke / liquid scripts
...
Too much extrapolation can become expensive. Reducing it here since extrapolating levelsets into a couple of cells should be sufficient.
2020-03-04 18:46:48 +01:00
Sebastián Barschkis
bc2ce31d79
Fluid: Improved behavior at open boundaries
...
Use greater boundary width for smoke simulations
2020-02-28 16:20:13 +01:00
Brecht Van Lommel
9085b7e847
Fix OpenVDB link error on Windows after recent changes
2020-02-26 19:24:20 +01:00