Hi Boblanders,
Oh dear, I was kind of hoping you wouldn't pick that one.
L3DT doesn't calculate the texture of the surface of the water. The reason for this is that L3DT was mainly designed around supporting 3D game engines, which usually render the terrain and the water as two separate objects with their own textures, so it's not been necessary or desirable to bake the water surface onto the terrain texture. These game engines often have their own water renderers that include dynamic wave modelling, reflection mapping, and other nice effects, which look much better than could possibly be achieved by pre-calculating the water surface in L3DT or elsewhere.
The intended purpose of the water modelling in L3DT is only to accurately calculate the colour and brightness of the light on the seafloor (i.e. at the terrain surface) after it has passed through the water column above. As an example, the first image below shows the light intensity at the seafloor from the L3DT texture:
- Terrain mesh only
The second image (below) shows what happens in very simple game engines when you add a flat water plane mesh over the top of the terrain, with a simple semi-transparent wavy texture image. Real game engines do nicer effects, but you get the idea. The surface is separate to the terrain, so the surface has a separate texture image.
- Terrain and water meshes
In summary, the surface of the water has historically been a renderer/game engine problem, rather than something that is calculated by L3DT. I tend to think this is still the right way to do things for the majority of users. That said, it is possible for a plugin to be written to bake the water surface onto the texture map, and I will be more than happy to assist should any developer want to try writing such a plugin.
Best regards,
Aaron.