Since the introduction of WebGL in 2011, the web browser evolved into a new and promising platform for high-performance 3D games. One of the most common game elements is heightmapbased terrain, but due to the limited expressiveness of this approach, the need for more sophisticated solutions becomes apparent. Many techniques exist that can convert an implicit surface into an approximated polygonal mesh. However, the actual application of such algorithms in a real-time environment, especially on mobile devices, where render time is of utmost importance has not been investigated sufficiently in the literature yet. The present work outlines the implementation of a multithreaded volumetric terrain engine using the 3D rendering framework Three. js and sheds light on the application of contouring methods in a realtime environment where the volume frequently changes through user interaction. The final system uses the Dual Contouring surface extraction technique and maintains discrete volume data in adjacent cells which can be modified on the fly using Constructive Solid Geometry. Furthermore, the performance of the engine is evaluated to determine its suitability for mobile devices.
Raoul van Rüschen, Simon McCallum, Stefan Kim, Reiner Creutzburg, "Volumetric Terrain Rendering with WebGL" in Proc. IS&T Int’l. Symp. on Electronic Imaging: Mobile Devices and Multimedia: Enabling Technologies, Algorithms, and Applications, 2018, pp 136-1 - 136-14, https://doi.org/10.2352/ISSN.2470-1173.2018.06.MOBMU-136