Skip to content

Conversation

@shajder
Copy link

@shajder shajder commented Jul 27, 2024

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

main subject of this sample is ocean surface simulation
@CLAassistant
Copy link

CLAassistant commented Jul 27, 2024

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

@bashbaug bashbaug left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome! I love this! Nice work!

I'll do a more thorough review a little later, but here are a few minor issues I found running this on our implementation, and a few high-level questions:

  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.

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

Thanks!

@shajder
Copy link
Author

shajder commented Aug 3, 2024

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

-SFML version 2.6 required
@shajder
Copy link
Author

shajder commented Jan 7, 2025

  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)

-extended VkDescriptorPoolSize with second image stage
-removed obsolete layer settings for vkCreateDevice
-misprint fixes
-fixed the problem related to order of cleanup
-fixed the bug with VK_ERROR_LOST_DEVICE at the finish
-optimize the way of updating uniform buffer
@shajder
Copy link
Author

shajder commented Apr 29, 2025

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants