I’m trying to create an underwater scene, in which the camera looks up along a rope towards a buoy. I haven’t made it far, because I have no idea how to create the ocean’s surface seen from below. But I still want to keep the buoy’s shadow shadow…y.
The first step would be to make a separate plane object for the surface. Then, give it waves with the ocean modifier.
Give the water surface a glass material. Use the light path node to give a patchy transparent texture to the shadows and produce rays (I am including a blend file with the material so you can see what I am talking about). Your volume material is already correct, as the high anisotropy is needed for the rays to be visible.
Then, for the surface to truly look correct, you will want to give it an ior of 0.75 when viewed from below. Usually, you are told to give water an ior of 1.33, but the ior is actually different depending on if you are going from air to water or from water to air. I have automated this using backfacing in my file.
Here is the exemple file (look straight up and render from inside the volume cube): sea_exemple.blend (861.1 KB)