In the past decade, we have seen a myriad of games set in the ocean and around deep water. Fluids are becoming a more substantial part of video games with larger production budgets. We have seen a shift in real-time fluids from being a static element to an interactive entity. Even though game computation budgets are increasing, the amount given to fluid interaction and other forms of visual effects is still relatively minuscule. This budget creates a need for methods that are two to three times faster than real-time to be useful in production pipelines. Modern GPU pipelines allow for this kind of fast computation at a fraction of the cost.
This thesis implements an algorithm that is highly parallelizable and relatively more physically plausible as it takes into consideration the dispersion term of the wave equation. We compare the results with the other current research techniques of the last few years. The method implemented is a height-field based approach which involves running the wave equations in the Fourier Domain (Wave frequency domain by running a Fourier transform on the height field), solving the linearized wave equation as well as the simplified dispersion term in this domain and then transforming the result back into the real space height data. We implement this algorithm in the Unreal Engine 4, which is a popular commercial game engine used to develop big-budget games. We test our algorithm using the GPU profiler, provided by the engine, to prove the algorithm’s viability in a production environment.
Copyright © 2019 Soumitra Goswami. All rights reserved.