Need some way to define a water node. Its appearance needs to allow some level of transparency. It would not have a fixed geometry but would alter its shape as follows:
Container
Minimizes its potential energy until it finds lowest part of container that will hold its volume, some virtual worlds might want to define any area below a certain height, not occupied by a solid as being water (the sea or a lake for example).
Is there a way to solve this analytically? I guess we just integrate from the lowest point until we get to the volume of the water?
Waves
Analytical Methods:
Wave equations for generating the surface are well known for smooth waves, more difficult for surf.
Numerical Methods:
One way to simulate waves would be to use the blobBean object.
If you just want to give the appearance of waves, without a real time simulation, then it might be possible to use a 3D texture (Texture3D) with an animated image (can Java3D support bump mapping hardware? G400 card).
Flow
The governing equations for Newtonian fluid dynamics, the unsteady Navier-Stokes equations, have been known for over a century. also see Computation Fluid Dynamics (CFD)Some way to model the flow of water would be useful.
Buoyancy
It would be useful to model floating & submerged objects including buoyancy, moving in currents, propellers, oars, fins, etc.
Particle Systems
Particle systems can give the illusion of fluids, for example water gushing from a pipe. But could particle systems actually simulate fluids? For example if we generate enough particles to simulate a contiguous volume of liquid, and we program them with the rules to simulate gravity, surface tension, non-compression, etc. Then could we simulate a liquid? Please e-mail me if you have any ideas on this.