2番目のサーフェスまでの距離をレイトレースできます。これは概念的には最も簡単ですが、必ずしも最速の方法とは限りません*。
しかし、巧妙なトリックがあります。カメラから水面への深度マップをマルチパスレンダーできます。水中の距離は、ピクセル深度から深度マップ深度を引いたものになります。これは、水を出て後で再び入るときなど、すべての状況で機能するわけではありません。しかし、描かれているもののように、多くの場合動作するはずです。ブール演算にも同じ手法を使用できます。

画像1:深度マップをレンダリングし、池の底をシェーディングするときに深度マップを調べます。
※場合によります。