Rendering of Underwater Effects

A good shading model is a crucial component when one wants to render a realistic scene. This is especially true when attempting to render an underwater image due to the various optical effects.

Abstract
A good shading model is a crucial component when one wants to render a realistic scene. This is especially true when attempting to render an underwater image due to the various optical effects that take place in such a domain.
The refracted light beams from the surface of the water converge and diverge thus creating shafts of light and caustics. The light is also scattered from particles in the water producing “background” illumination. Proper modeling of the attenuation and absorption of the light in the water produces the color of the water.
In this project we followed the work of Nishita et al. (1994). The calculation of the illumination takes into account the physical effects that were just describe, thus producing realistic shading model. We intend on going into details about the modeling of the water surface, the scattering and attenuation calculation and the method of creating the caustics on solid objects.

Under water effects
There are several optical effects that reside underwater.
Shafts of light
Refracted light from the water surface is more concentrated at some areas, while denser at others. this phenomenon is called the shafts of light.

1

Figure 1 – shafts of light

 

caustics

Solid objects that reside underwater usually have brightly lit curves on them.
Those curves are called “shafts of light” and they are formed by the concentrating of light from the water surface.

2
Figure 2 – caustics on the sea floor

The color of water
Although the light outside the water is white, the water has a greenish-blue color.

The solution
The physical model of the intensity is based on the calculation of the integral:
This color is a result of the attenuation and the scattring of the light in the water.
In this project we wish to render a scene taking into account all those optical effects.
3

Accurate solution for this integral is very difficult to obtain. However, one may convert the integration to a finite summation and still get good looking results. The following sections will describe a method of approximating the integral’s calculation.

 

Illumination volumes
A Riemannian integral is basically dividing the domain into very small pieces and summing them up.
The method we wish to present is doing exactly the same. However the division of the domain is not done arbitrarily, but takes into account the special nature of this case.
The division we wish to induce will be derived from the geometry of the water surface. First, the water surface is being subdivided into an mesh. The normal to the surface at each mesh grid point is extracted, and the direction of the refracted beam is being calculated using Snell’s Law. Three neighboring lattice points and their refracted light direction define a volume. We will refer to these volumes as “illumination volumes”.

4
Figure 3 – illumination volumes

Shadow
As a “”side effect”” of this shading model an easy method of rendering shadow is obtained. In general, rendering shadows is quite a complicated task since it requires knowledge about the relative locations of each object in the scene. Using the illumination volumes one may track easily the course of the light beams in the scene. Extracting the caustic triangles in top down order (from the surface and downwards) enables to render good looking shadows. Each time an illumination volume is obstructed by a solid object the processing of this volume is stopped, hence creating a shadow beneath it.

 

5
Figure 4 – shadows

Tools
The main rendering mechanism was written by c++ (Visual Studio C++ 6.0)
For the geometric modeling we used IRIT
Conclusions
This project focused mainly on restoring the results obtained by Nishita et al. (1994). The report is going into more details in the calculation of solid body illumination within the water. We also discuss the modeling of realistic water surface. In order to test our model a short video clip was made, describing the change of the surface over time and its impact on the illumination underwater. The proposed model is based on the approximation of the illumination integral. The results we attached shows that dividing the space according to the illumination volumes produce very realistic results with quite simple calculation. A single sweep of the domain produced the caustic lines on solid bodies, the shafts of light and the color of the water. This method can be applied not only for water but also for atmosphere with uniform density, the only change need to be made is in the scattering and attenuation factors, but the basic mechanism remains the same. The main drawback of our program is the fact that it doesn’t take advantage of Graphical hardware. Rendering of a scene might take about 10 min.

Acknowledgment
We would like to thank Dr. Schechner Yoav for his professional guidance during this project.
This project is based on Prof.\As. Elbar’s IRIT geometric modeling. We wish to thank him for helping us with modeling the water surface.
Mr. Nir Karpel kindly introduced us to some of the results of his thesis concerning the coefficients of attenuation and scattering of light underwater. For that we thank him.
We are thankful also to the Ollendorff Minerva Center for support for support.
Last, but not least, we wish to express our gratitude to the Lab chief engineer Johanan Erez, and the rest of the Lab’s staff for their help and support throughout this project.