Age | Commit message (Collapse) | Author |
|
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7802
|
|
Temporary fix that will skip cache invalidation from flow / effector objects.
|
|
Domain size parameter no longer needed (unsed right now). Domain size is directly taken from object.
|
|
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7483
|
|
This is a regression introduced in rBa0fe22095e6d9b8b194c2cf6f9a7c7b419d7e61c.
I changed it so that the velocity with the highest magnitude is considered and
not the highest value per coordinate.
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7502
|
|
|
|
Using MAX2 when writing intial velocities into the grid prevents overriding initial velocities when using multiple flow objects that are close to each other.
|
|
General fixes and improvements for the cache. Previous commits on fluids broke the 'Replay' cache a bit.
|
|
|
|
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.
|
|
When using the 'Replay' cache mode the cache needs to be invalidated whenever simulation variables have been changed.
The invalidation will always only affect the according subcaches, e.g. when changing a mesh paramter only the mesh cache will be invalidated, the base cache will remain intact.
Before this change Blender always invalidated the entire cache.
|
|
- Change the default cache method to replay
- Change the default resolution to 32 (The same as old smoke)
which have a speedup of about 4x (~4 FPS vs. ~16 FPS on initial
playback)
Peformance was tested with 3700x and RTX 2070
Differential Revision: https://developer.blender.org/D6853
Fixes T73799
|
|
Unsed variables for fluid caching.
|
|
First frame should only produce inflow once and not compute the emission for the frame before the first frame. Problem became evident 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.
|
|
This refactor cleans up code for the Manta file IO. It also improves the cache 'Replay' option.
|
|
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7256
|
|
|
|
mantaflow when clicking the left arrow
Added nore flexibility to cache frame range and ensured validity of frame range.
|
|
Required for collisions with moving rigid bodies. Otherwise the static optimization mode will be kept and the obstacles would be calculated only once at the beginning.
|
|
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7227
|
|
This is not dependent on having an armature as mentioned in T75111.
The collider simply has to be animated.
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7251
|
|
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.
|
|
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).
|
|
Added sanity check to prevent bakes from being triggered when there is no fluid object present.
|
|
Contributed by luzpaz.
Differential Revision: https://developer.blender.org/D7133
|
|
|
|
|
|
The fix for T74762 (bf9c4af9bb74) introduced this issue. Initial velocities were not applied to liquids anymore.
|
|
|
|
In addition to previous commit that made it possible to abort bakes faster.
|
|
With this change baking jobs will be aborted faster. The user will not have to wait for the current frame to finish baking. The bake job will exit early and discard the incomplete frame.
|
|
This option existed already and was just hidden in the UI. With the new fluids system though, it will only be used for rendering - and not to optimize the cache.
|
|
|
|
Replace memset with copy_vn_fl, note that the exact values are slightly
different in this case. The value being set was close to FLT_MAX.
|
|
|
|
Belongs to T73921. This commit fixes the crashes with light baking (disabled in f3a33a92987f). There is still a memory leak to be fixed though.
|
|
|
|
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7093
|
|
Since the bounding boxes are now also being used for effector objects, there needs to be a better name for them. Instead of calling them EmissionMap, which caters only to emission objects, they will now be called FluidObjectBB.
|
|
- Use 'BKE_object_defgroup' prefix for object functions.
- Rename 'defvert_verify_index' to 'defvert_ensure_index'
since this adds the group if it isn't found.
|
|
No need to have three separate loops for vertices, normals and speed vectors. Since all of them loop over the vertex count, a single loop can be used.
|
|
For now, disabling static mode whenever initial velocities are being used.
|
|
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).
|
|
Fixes weird behavior at inflow regions. Issue was introduced with d6d44ccc7786.
|
|
Use flags instead of obstacle to avoid confusion with obstacle levelset grid.
|
|
Removed unneccessary calls to BLI_exists() as BLI_delete() does this implicitly.
|
|
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
|
|
|