Yury Kryachko discusses his presentation on Sea Surface Visualization in World of Warships.
Earlier this year, Wargaming took part in SIGGRAPH 2016. From July 24–28, the 43rd international conference and exhibition on Computer Graphics & Interactive Techniques was held in Anaheim, California. Here, attendees could make the most of the five-day interdisciplinary educational experience, featuring the world's most prestigious forum for computer graphics research, and more. Many worldwide companies headed to SIGGRAPH 2016, and a lot of eyes were on Wargaming and their presentation.
Yury Kryachko, the Senior Graphics Programmer from Wargaming St. Petersburg, with the support of Wargaming’s art, design and video departments, as well as its studios from Chicago-Baltimore and Minsk, and coordinator from Cyprus, presented a talk at the Angry Effects Salad session.
Who is Yury Kryachko?
Yury obtained his masters in applied mathematics at the National Research Nuclear University, Moscow. His most notable achievements in the computer games industry include graphics programming for Z.A.R., an FPS, the RTS Theatre of War, and the IL-2 Sturmovik flight simulator series at 1C:Maddox Games. Also, Yury has given several lectures at the Russian Game Developer's Conference (KRI), as well as wrote the “Using Vertex Texture Displacement for Realistic Water Rendering” chapter for GPU Gems 2.
He currently works as a Senior Graphics Programmer at Wargaming St. Petersburg. In his role, he has been programming multiple aspects of 3D Graphics in World of Warships for more than three years. His greatest passion is R&D for the visualization of natural phenomena.
Sea Surface Visualization in World of Warships
The name of Yury’s presentation at SIGGRAPH 2016 was “Sea Surface Visualization in World of Warships”. In it, he covered algorithms used for sea visualization. Due to the peculiarities of the World of Warships MMO project, this required excellent scalability on a wide range of hardware, while still meeting artistic requirements, high image quality and geometric stability, both at the foreground and background. It is a unique technology, because in most modern games, sea visualization mostly focuses on the foreground, at the expense of quality in the background.
For the background, a special simplified technique is often used, which does not ensure compliance with the foreground for the scale of the waves, the correctness of the calculation of some optical effects. In particular, the latter refers to the reflections that we see, even in heavy seas. For World of Warships, a simplified approach was unacceptable, because it leads to a deterioration in the perception of the scale—huge ships in a real sea.
To improve background visualization, we had to increase the stability and detail of the polygonal approximation of the water surface, and develop an algorithm for high-quality anti-aliasing, and a new way to calculate reflections. As a result, a single unique solution was developed, providing high quality in both the near zone and far zone.
Key innovative solutions described at Yury’s SIGGRAPH talk 2016 include:
- Our unified water-rendering algorithm provides high quality, real-time wave simulation and calculation of optical effects in near, middle and far views. In most solutions, there are blurred or missing waves near a horizon and reflections do not look like the real sea
- Content creation cost is reduced by usage of unified content to visualize waves in different views and quality presets
- In comparison to the baseline method, trembling of the projected grid mesh at a far distance is greatly reduced and the quality in deformation areas is increased by usage of the ray-casting method, based on modified Newton iterations and the projected grid mesh as its initial conditions. The Newton method is applicable even for low-end GPUs and it is successfully integrated into our custom multisampling anti-aliasing method for high-end GPUs
- A new approach for calculating texture coordinates (used to fetch from reflection textures). We obtain them by projecting the reflection vector on the far clip plane of the camera. As a result, a more realistic reflection is achieved than in the popular 2D distortion method. The cost of this solution is much lower than the expensive screen space local reflection (SSLR) method, and it allows us to make high-quality multisampling anti-aliasing of reflections in the distance much better than in competing solutions
- Wave synthesis without using hardware mipmapping reduces the visibility of repeated patterns and increased noise is successfully suppressed by the anti-aliasing algorithm. The combination of both solutions enables micro-detailed wave patterns and correct lighting at a far distance
- Water deformation using combination of special particles (height + foam) is a high-speed rendering solution which simplifies content development and creates deformations in a higher resolution than in other wave simulation methods
- Shadow realism is increased by an additional volumetric component (responsible for underwater light scattering)