I then draw the faces of the cell using a multiplcation function with whats on the screen. Or how fast all the additive and multiplcative texturing will be. Hopefully not too slow. For effects such as flickering lights, and pulsing lights, it would be easy just to modify the rgb values of the light faces to get this effect. The recursion for casting a dynamic light wouldn't be too bad as you don't need to recurse into the level data farther than the light can possibly cast.
Lets also say the surface of the water is transparent.
Let us further assume that the water reflects whats above it. I have never seen this done in any engine. Anyway I would like to try this and see how it looks. The last project I took all the way to completion was my junior year in highschool. I tend to take my 3D engines to the point where i've learned something new or seen that an idea i had worked or didn't work.