Quote Originally Posted by lief
1. Does the water automatically fit around the islands?
The z- or depth-buffer will automatically handle this for you.

2. Is there any way to make the water more transparent as it gets shallower? Like depth fog but constrained to the inside of an object...
At run-time, yes, but it could get expensive, ie. slow. You would have to check every vertex and see how deep the water was there. This would usually be done as a table lookup if you used a height map for your terrain. Then set the alpha component of the vertex colour to suit according to the depth.

I would do this as a pre-processing step. The idea behind this is to pre-process these values since they are usually not going to change over the lifetime of the game, so why repeatedly calculate the same values over and over each frame? Create the water mesh beforehand and set the vertex alpha for every vertex, then store this in a data file somewhere. At run-time, read that data file in and use that to draw the water. Less processing at run-time means higher frame rate and more CPU time to do other cool stuff.

3. How can I texture the islands? With one big texture plonked over the top of it? Can I access the water model at runtime and make waves? Will these waves go up and down the beaches of the islands?
Here is a document by Charles Bloom on 'texture splatting'. Fairly theoretical with no practical examples.
http://www.cbloom.com/3d/techdocs/splatting.txt
Here is a practical example of using the above technique in DirectX9.
http://www.gamedev.net/reference/art...rticle2238.asp

You implement the water model however you want. Here at Krome, we generally make a grid for the water and punch holes in it where it will not be seen. The quickest polygon is the one you do not draw. This is treated just like any other model, with the exception of a few special effects to make the surface look watery (offsetting vertices, texture effects, etc). The z-buffer (as mentioned above) makes sure that the square edges of the water grid are hidden beneath the ground. Using the vertex offset effect, yes it looks like waves going up and down the beach. But this effect can be costly if you have too many vertices to offset each frame. This is best done using a vertex shader or something similar.

If I WAS to go 3d, could I still draw my pritty 2d effects over the top?
Of course. Draw your 3D using a perspective projection matrix, then switch to an orthographic projection to draw the 2D effects in whatever two-dimensional space you specify. You would also usually disable z-buffer writing and reading during this 2D drawing. This is the HUD elements of most games are drawn.