In this video I explain the basics of Vulkan compute shaders.
Please see the corresponding blog post for more information: https://necrashter.github.io/ceng469/project/compute-shaders-intro
00:00 Background information
01:54 General purpose GPU without compute shaders
03:25 Compute shaders
03:47 Alternative frameworks
04:37 Why compute shaders?
05:24 Compute shaders in GLSL
08:06 Compute shaders in Vulkan
08:50 vulkan.hpp
09:46 Top-down view of the application
10:16 Setting up
12:14 Allocating memory
14:51 Creating the pipeline
16:14 Submitting work to GPU
18:17 Cleanup
18:35 Final program
18:57 Particle systems
20:46 More advanced simulations on GPU
The Vulkan code is based on: https://bakedbits.dev/posts/vulkan-compute-example/
GPU Gems 3: https://developer.nvidia.com/gpugems/gpugems3/contributors
Some images has been taken from Cem Yuksel's lecture:
https://www.youtube.com/watch?v=HH-9nfceXFw
OpenGL vs. Vulkan picture: https://developer.nvidia.com/transitioning-opengl-vulkan
Video card icons created by prettycons - Flaticon: https://www.flaticon.com/free-icons/video-card
Cpu tower icons created by Good Ware - Flaticon: https://www.flaticon.com/free-icons/cpu-tower
Particle System Slide:
Fire: https://realtimevfx.com/t/sketch-10-jordanov/4273
Smoke: https://giphy.com/gifs/blobbybarack-art-loop-blobby-barack-JUnLuAEjsbUcM
Electric zap (game I made called Solalien): https://necrashter.itch.io/solalien