Vulkan implementation of ocean waves in both DFT and FFT
It is now basically a well organized version of Discrete Fourier Transformation Ocean Wave. The base project (base.lib) from the SaschaWillems examples codebase was used as a framework to provide a wrapper of Vulkan APIs.
You can use mouse and wheel to navigate. For now I do not set any cull mode.
It is very slowly due to the algorithm - Discrete Fourier Transform (DFT). In the latest version I update it to the Fast Fourier Transform algorithm (FFT).
Mode | FPS | Device |
---|---|---|
Debug | 120+ | GPU(RTX 3050Ti Laptop) / CPU(Intel i7-11800H) |
Release | 300~ | GPU(RTX 3050Ti Laptop) / CPU(Intel i7-11800H) |
Debug | 120+ | GPU(RTX 3070 Laptop) / CPU(AMD R7 5800H) |
Release | 680~950 | GPU(RTX 3070 Laptop) / CPU(AMD R7 5800H) |
You can select your GPU in the line 870 in .\base01\vulkanexamplebase.cpp.
869 ...
870 uint32_t selectedDevice = 0;
871 ...
The variable selectedDevice is 1 for default. You can change it to 0 in case:
You want to switch to another GPU
You only have only one GPU and the program crashes at the GPU selection.
~ (The GPU will show on the window title and the control panel as well.)