Water
This is a water simulation modeling water as thousands of small balls colliding with each other. You can interact with it by adding objects such as a cup or a helix. You can also dynamically change the domain constraints and the engine settings. The smaller the timestep, the more precise it is.
This project runs fully on GPU and can handle up to a million balls. It is implemented with the experimental WebGPU API, which allows GPGPU in the browser for massively parallel computing.
You might need to manually enable WebGPU in your browser.
Average FPS:
Average iterations per second:
Particles count:
Grid:
Engine
Rendering
Hidden
Hidden
Color by population
Final
Particles
Medium amount
Small amount
Fair amount
Medium amount
Big amount
Huge amount
Giant amount
Obstacles
Helix
None
Capsules
Helix
Cup
Rotate
None
Rotate
Domain
None
None
Rotate
Contract
Debug
World normals
Local position
Screenspace normals
World normals
Water depth
Water
Depth
Balls