Kamis, 24 Oktober 2013

I seem to have finally managed finite water (And infinite water)

It's a good thing voxel water looks so pretty with the amount of posts on this blog dedicated to it. Some of the first posts here are about my failed experiments with finite water including the spectacular infinite water bug that created a tidal wave of infinitely expanding water. Well, now that I've managed to create a stable water simulation I was also able to optimize enough to turn that old bug into a feature, infinite water is back:

An unrelenting wall of infinitely expanding water
The entire rendered area can flood without so much as a hiccup in the frame rate. Of course the main focus of this system is realistic water so that's possible too like I showed in the last post but I've fixed up the meshing to give the water sides. Also pictured above are hard shadows from a directional light (Unity Free).






Water is a really fun system to implement, it's one thing that really lets you use a voxel system to its full potential. The real joy with voxels for me at least is having complex systems that are visually represented but are completely dynamic and reactive and that a programmer can build from the ground up as simple rules and relationships between blocks.
While I won't go through my water approach step by step in a tutorial part I'll sit down and write up some pointers from my experience setting this up and researching it that might help anyone else trying to make their own system.
Primbon Jawa Voxels