Random Caustics:

Wave Theory and Natural Textures Revisited


The interplay of light and transparent media can produce one of the most beautiful visual patterns. For example, the fluctuations of a water surface produce complex line-like patterns on the sides and the floor of a pool. Using a wave equation for the propagtion of light, I have computed these patterns. Since the water surface is periodic in my model, and since I am using an FFT-based method, the resulting patterns are periodic both in time and space. This is highly desirable since this provides us with a texture map which can be used in a standard renderer, without a substantial increase in computation time. Many extensions and improvements are currently under investigation.
This research is reported as a one page summary in the Visual Proceedings of this years SIGGRAPH. I'll present the material in a Technical Sketch at SIGGRAPH'96 in New Orleans, in the session called "Illumination" at 10.15 am on wednesday August 7th.


Variation with depth

The appearance of the caustics strongly depends on the depth of the pool, i.e., on the distance between the water surface and the bottom of thge pool. Here are some stills of animations computed at different depths (depth values increase from left to right):

Defeating Diffraction

Each picture corresponds to the caustic pattern created by a coherent, monochromatic wave having a wavelength equal to half the resolution used (typically 0.01/512 meters). Physically this corresponds to a laser light shining on a tiny patch. Spurious diffraction patterns therefore result. There are many ways to deal with this problem. Here are several possible solutions. From left to right: no treatment, spatial blurring, average over several computations with different phases. The treatment of this artefacts remains an open issue for future research. Click on the pictures to get full resolution for better comparison.

Wild Caustics

Why stick to physically meaningfull values. The following stills were computed by providing unrealistic values for the magnitude of the waves (see also last animation).


Here is a simple example of some patterns produced using these techniques. There are 32 frames in total. Play the animation in a continuous loop in order to observe that the animation is indeed periodic in time.

Caustics on the Bottom of a Pool (mpeg, 219727 bytes)

Here is another example...

Wild Caustics (mpeg, 701922 bytes)