Abstract:
Rendering large-scale ocean scenes plays an important role in simulators, movies and other aspects. Because of the complexity of the ocean and the sky, it is difficult to animate large-scale realistic ocean scenes in real time, especially under precise time and space conditions. In this paper, we present a real-time rendering framework for large-scale realistic ocean scenes. In traditional real-time ocean rendering method, the skybox method consisting of a big textured cube with six images is usually used to model the sky for its rapidity and simplicity. However, it has potential problems with seams in the edge of the skybox and it is not flexible enough. In our case, we apply a skysphere method which is convenient to position the celestial bodies and to set up the light scattering model. To show the real movement of celestial bodies, we establish a simplified astronomical model to compute the position of every single celestial body in the scene. When the wind blows over the ocean, the high frequency short wave appears first, then the low frequency long wave grows. As the wave is fully grown, the long wave will be more prominent. Researchers in graphics always focus on rendering the long wave while ignoring the short wave. We apply a unified directional spectrum for long and short wind-driven waves to draw the waves, which covers the shortage of the short wave rendering. The ocean illumination is a difficult problem for computer graphics, because both the ocean and the light source are dynamic. Via the analysis of the real ocean illumination, we take the atmospheric scattering, the ocean surface reflection and the ocean subsurface scattering as a whole, and build up a comprehensive ocean lighting rendering model. With this method, we can make the ocean waves alive, and enrich the optical effects colorfully while simulating the large-scale ocean scenes under precise time and space conditions. We demonstrate the visual realism and performance of our method in various experiments, achieving high frame rates on different desktop PCs.