iWave: Interactive Water

A few months ago I started taking in interest in water simulation. I found Interactive Water Surfaces by Jerry Tessendorf and ported his example application to java, as seen in the screen shot below. The waves are generated by clicking areas of the water and dragging with the left mouse button. Also, whats really cool is you can define obstructions in the water with the right mouse button and as the waves propagate into the obstruction they reflect off in a realistic manner.



Download the jar of this application here and give it a spin.









I also wanted to see this in jME so I threw together a couple classes to test and this is what I got…











In the jME test you hit the space bar to create a wave. I didn’t bother making it fancy, it just starts on in the middle of the grid  ;). Its fun to play with but it doesn’t scale very well. Perhaps someone with shader experience, a little time, and alot of curiosity, could whip something more useful up with it. I’ve had this sitting around for a while and decided I would share it with everyone. Maybe it could be a pond, or something small. The papers go into detail about its usefulness in game applications and they are a very good read. Here is the source for both the iWave java port and the jME test.






pretty darn spiffy :slight_smile:



Ive often thought jME could really benefit from more object-effect interaction, and this is a great start to interactive water.



Does it currently use a mesh then?  And I assume wave/wave interaction is not possible (couldn't image the recursion needed for that…)



Just as is it would make a pretty cool screen saver though :slight_smile:

Yes, That is a realy coool ScreenSaver :).



I dont think ths principle works for the big sea with big MeshWaves, its more for a fountain or a lake, where the player can walk throught.



Good Work Nymon!

basixs said:

Does it currently use a mesh then? 

Yeah, its in a class extending trimesh.

.:emp...hellg:. said:

I dont think ths principle works for the big sea with big MeshWaves, its more for a fountain or a lake, where the player can walk throught.

Exactly. Its pretty expensive, but it could easily be computed on the GPU.