OpenCL-SDK icon indicating copy to clipboard operation
OpenCL-SDK copied to clipboard

Added new sample to demonstrate OpenCL-Vulkan interop with ocean surface simulation

Open shajder opened this issue 1 year ago • 4 comments

The sample follow general steps (with multiple optimizations) described in the publication: Realtime GPGPU FFT ocean water simulation

Main focus of the sample is to demonstrate how to share compute/render resources between OpenCL and Vulkan to simulate an ocean surface.

ocean

shajder avatar Jul 27 '24 15:07 shajder

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jul 27 '24 15:07 CLAassistant

This is awesome! I love this! Nice work!

Thanks :)

  1. This sample uses glfw for its windowing library. I'm OK with this personally, and it's used for other Vulkan samples, but the OpenGL samples in this SDK currently use SFML instead. If we're going to use glfw for the Vulkan samples, should we consider adding some CMake smarts for it? Getting glfw working on Windows especially can be challenging.

I could use SFML but in order to support vulkan window that would require newer version than requested 2.5.1.

Update: I just added GLFW related corrections to cmake files but I am not sure if that satisfies all project requirement, it builds at my machine, I will ask mobica fellows for verification as well.

  1. Would it be possible to add a framerate counter or similar, to quantify the benefit of using external memory vs. copying via the host?

Indeed that would be useful, I will check it

Update: added tracking of FPS in a title bar of main window which could be toggled with 'e' key

shajder avatar Aug 03 '24 08:08 shajder

  1. This sample uses glfw for its windowing library. I'm OK with this personally, and it's used for other Vulkan samples, but the OpenGL samples in this SDK currently use SFML instead. If we're going to use glfw for the Vulkan samples, should we consider adding some CMake smarts for it? Getting glfw working on Windows especially can be challenging.

To avoid multiplication of dependencies I replaced glfw with SFML. It requires minimum version 2.6 (earlier versions do not support vulkan surface)

shajder avatar Jan 07 '25 15:01 shajder

Applied corrections related to change requests from #124 and modifications related to #131

shajder avatar Apr 29 '25 08:04 shajder