Although graphics cards provide realistic real-time image generation for air-land scenarios, as built-in hardware, they are not appropriate for rendering underwater scenarios, which require special techniques to properly render the effects of liquid environment, loss of illumination and visibility, blur effects, spotlights, debris, caustics, and bubbles.
This paper presents some techniques for implementing real time underwater image generation that emulate loss of illumination and loss of visibility, spot light effects, and blur effects. The implementation is part of the development of an underwater visual simulation engine. OpenGL and OpenGL Shading Language (GLSL) are used in order to take advantage of GPU acceleration. The developed techniques use GLSL Shaders to perform the appropriate calculations, such as the computation of loss of visibility due to depth and distance. Spotlight Tyndall effects are emulated using an accumulated texture rendering technique. Loss of neatness (blur effect) is achieved seamlessly via a technique that blends the blurred image with the rendered image according to viewer-object distance.
Results show that the techniques presented here provide suitable image generation for underwater scenarios in real time by programming the GPU through GLSL.