3
$\begingroup$

I'm making some water effects currently, but I'm running into a persistent question—what exactly would be the material setups, index of refraction, etc., to get truly physically correct water—be it fresh, salty, or otherwise polluted?

$\endgroup$
2
  • $\begingroup$ The Principled BSDF node is "physically accurate"... $\endgroup$
    – Linguini
    Commented May 20, 2018 at 1:14
  • 1
    $\begingroup$ It depends on what kind of water you're modeling. Principled is fine if you've got an opaque water with small displacement. If you're water is translucent, then you need to take into account the lengths of light paths through the water, possibly through Volume Absorption or Volume Scatter. Remember that principled only models surfaces, not volumes. If you have variable depth water than you have to account for that, most visible in breaking waves or curls. If the water is mixed, say at the outlet of a freshwater river into a sea, then you'll need textures to control the mix $\endgroup$ Commented May 20, 2018 at 6:51

1 Answer 1

5
$\begingroup$

That's a big question. I don't have a complete answer, but I can answer for some parameters. I've made this answer a Community Wiki, so maybe others can fill in more.

Index of Refraction

The index of refraction (IOR) of Water doesn't vary much. It's approximately 1.333. This scubageek article references a table from "L. W. Tilton and J. K. Taylor, J. Res. Nat. Bur. Stand., 20, 419 (RP1085) 1938.":

Table 1: Index of refraction of water as a 
function of wave length and water temperature. 
----------------------------------------------
  Wave Length                                   
   (Angstroms)   T=10 C   T=20 C   T=30 C        

      7065      1.3307   1.3300   1.3290         
      5893      1.3337   1.3330   1.3319         
      5016      1.3371   1.3364   1.3353         
      4047      1.3435   1.3427   1.3417         

It also references a table from "E. Dorsey, "Properties of Ordinary Water-Substance", (Reinhold Publishing Corporation 1940)." to show that the Index of Refraction doesn't change too much based on salinity. In the table below, they refer to the index of refraction as n(w):

Table 2. Changes in index of refraction due to salinity 
--------------------------------------------------------
salinity                                                
(gm/kg)     increase in n(w)          example           
--------------------------------------------------------
   5            0.00097           northern Baltic Sea   
  10            0.00194                                 
  15            0.00290                                 
  20            0.00386           bight of Biafra       
  25            0.00482                                 
  30            0.00577                                 
  35            0.00673           Atlantic surface      
  40            0.00769           northern Red Sea   

Since our base value is ~1.33, an increase of 0.007 is a relatively small change. I suspect it would be noticeable if high-salinity water was in the process of mixing with low-salinity water, but it's probably too small to notice a difference if all the water has the same salinity.

Scattering

The appearance of an underwater environment is significantly affected by how light reflects off tiny particles in the water. Light tends to hit these particles and scatter off in different directions. If light scattered evenly in all directions, that would be referred to as isotropic scattering. However, light in water doesn't scatter evenly in all directions, so the term for that is anisotropic scattering.

Principled Volume Shaders, added in Blender 2.80, use Henyey-Greenstein scattering anisotropy. The Henyey-Greenstein function basically describes what proportion of light goes in each direction. It gives you a parameter you can adjust to make it kinda match different materials. -1 would be back-scattering, 0 would be isotropic scattering, and 1 would be forward scattering. As oceanoptics describes, the Henyey-Greenstein is an imperfect approximation for water scattering, especially at very large or very small angles, but a value of 0.924 looks reasonable.

This does vary based on what's in the water. There's also a question as to what color this should be.

Absorption

I'm not sure how to translate this into density / color, but this graph from p.454 of "Optical propagation in linear media: atmospheric gases and particles, solid-state components, and water" (2006) by Michael E. Thomas on light penetration of seawater illustrates the absorption of various wavelengths of light. It can be handy to view with a map of wavelength to color beside it, so I grabbed a copy of the Linear Visible Spectrum from Wikipedia.

Transmitted solar spectral irradiance for three different depths in pure sea water Colors labelled by wavelength

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .