U.S. Patent no. 10,290,142: Water surface rendering in virtual environment
Issued May 14, 2019 to Wargaming.net Limited
Priority Date July 8, 2016
U.S. Patent No. 10,290,142 (the ‘142 Patent) relates to enhanced computer graphics, specifically for the rendering of water surfaces in virtual environments. The rendering of water in video games produces specific difficulties because of the complex math calculations required to simulate it. Accurate depiction requires a frame-by-frame calculation and must simulate reflections, refraction, and shadows. The ‘142 Patent provides improved visualization of water surfaces in virtual environments. This invention improves quality at close, middle, and far distances from an observer’s location. The quality and realism of the water surfaces can be improved by correcting the polygonal mesh rendering. This same technology can be applied to other fluid surfaces in addition to water as well.
Aspects described herein may provide improved display of a fluid surface in a virtual environment. Adjusted pixel colors for pixels in the display may be computer based on surface shadow components and volumetric shadow components. A surface shadow component may be based on a shadow cast by objects onto the fluid surface. A volumetric shadow component may be based on a shadow cast by objects within a body of fluid. Visual effects may be adjusted based on the surface shadow components and volumetric shadow components, and an adjusted pixel color may be determined based on the adjusted visual effects.
1. A method for generating a display of a fluid surface in a virtual environment, the method comprising: retrieving a shadow map associated with a directed light source in the virtual environment; computing an adjusted pixel color for each pixel in the display, wherein computing an adjusted pixel color for a given pixel comprises: computing a surface shadow component associated with the given pixel based on the shadow map, wherein the surface shadow component is based on a shadow cast by a plurality of objects onto the fluid surface; computing a volumetric shadow component associated with the given pixel, wherein the volumetric shadow component is based on a shadow cast by the plurality of objects at a plurality of depths within a body of fluid associated with the fluid surface; adjusting one or more surface visual effects based on the surface shadow component; adjusting one or more underwater visual effects based on the volumetric shadow component; and computing the adjusted pixel color for the given pixel based on the adjusted surface visual effects and the adjusted underwater visual effects; and rendering the display of the fluid surface based on the adjusted pixel color for each pixel in the display.