Realistic/Physics Based Underwater Rendering

Hello, I don’t have any background in graphic design but I am somewhat forced into a particular problem.

Basically, I need to develop hyper-realistic scenes for costal/shallowish water. Rendering time doesn’t matter, it doesn’t need to be real time. But the rendered scene must reflect as closely as possible the physical effects that occur to light underwater. I understand this is impact by a number of factors but I just need some direction on how to get started.

I am happy to use Blender but if you know of another engine which would be better(unity, unreal, etc) feel free to suggest it!

Advice is highly appreciated.

Not sure on “realistic”, but my checkbox for underwater scenes is

  • shallow DOF and mist
  • flakes/particles floating in water
  • significant chromatic aberation

of course for shallowish coastal stuff you need caustics (best done the fakery way)
-lightbeams
-very colorfull corals stones etc do also help

Hi, you can use Blender to create the scene and decide which render engine you use to render the scene.
Game engines and Blender internal render engines need to fake caustics and dispersion of water, for example.
I would go for LuxCore render engine, it is well integrated in Blender and predestined for water and caustics.
It is a big task for a 3D beginner, take the time and read the manuals and/or search for tutorials about the theme.
I don’t want to put you off, but most artists need at least months to learn a new technique. But I’ve also seen some of them go very far in a few weeks.



Cheers, mib

A lot of what goes into making an underwater shot believable is tied to color and attenuation (fog). Water absorbs some wavelengths, making objects look blueish, and that can be faked simply by making textures tinted more the further the camera is from them (simple node setup that you can ask here on the forums and you’ll get answers for sure). They should also disappear gradually, depending on how murky the water is, fade into the big blue, and that’s also relatively straightforward (a volume visible only through the camera).
Caustics are refracted light rays that make those beautiful patterns on the seafloor, and they’re achievable too, although by faking them. That’s one of the things render engines are not super good at yet, except some of them such as luxrender that @mib2berlin mentioned above. If you render your scene with Cycles (Blender’s built-in renderer), you’ll have to create an image sequence of those patterns and project it on the seafloor. It works perfectly fine although it’s not physically accurate.