KhronosGroup / OpenCL-SDK

OpenCL SDK
Apache License 2.0
577 stars 121 forks source link

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

Open shajder opened 3 months ago

shajder commented 3 months ago

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

CLAassistant commented 3 months ago

CLA assistant check
All committers have signed the CLA.

shajder commented 3 months ago

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