C++ Vulkan Engine | Memory Barriers, Descriptor (Layout, Pool, Set) and Sampler

In this Tutorial we transition the VkImage Layout using Barriers. We also create a Descriptor Layout, allocate one Set and create a Sampler. ···················································································· Twitch ➤   / cakez77   Twitter ➤   / cakez77   Patreon ➤   / cakez77   Discord ➤   / discord   TokTok ➤   / cakez_77   Coding ►    / @cakezdev   Gaming ►    / @cakeztv   ···················································································· My Game Tangy Defense https://store.steampowered.com/app/22... Final Result: https://github.com/Cakez77/PongFromSc... Clone Branch: git clone --branch 04_vulkan_renderer_textured_quad https://github.com/Cakez77/PongFromSc... Pastebin, because YouTube shortens the Link https://pastebin.com/hRpm5x9D Or Switch to Branch (might need git fetch): git fetch (could be needed, this fetches remote data) git checkout 04_vulkan_renderer_textured_quad Repository: https://github.com/Cakez77/PongFromSc... The cakez.DDS File is part of the branch 04_vulkan_renderer_textured_quad, no need to download. Texconv from Microsoft: https://github.com/Microsoft/DirectXT... Gamma Correction: https://learnopengl.com/Advanced-Ligh... DDS Header: https://docs.microsoft.com/en-us/wind... Vulkan Normalized Device Coordinates: https://vulkan-tutorial.com/Drawing_a... ···················································································· About Me * Hey! And welcome. I'm an indie game developer, currently working on a Tower Defense Game written entirely in C/C++, I tried using Unity or Unreal Engine in the past, but never really found much success. I'm mostly posting devlog / devblog videos where I show off the progress I make on the game. ···················································································· Check out some of my other videos!    • I Tried JAI, Can It Replace C++?! (Program...      • First Time Using Godot As C++ Developer      • Tired Of Unity? Let's Make Celeste In C++      • This Made My Game So Much Better - Devlog      • I Made Vampire Survivors In C++      • A Day In The Life Of An Indie Developer & ...      • My life changing year of C++ game development   ···················································································· #cpp #gamedev #programming VkDescriptorLayouts describe the datatypes(layout) used in a shader(VkPipeline, consists of VkShaderModule's). VkDescriptorSet's are allocated from VkDescriptorPool's and point to Data(think of it like pointers in C/C++) the GPU can use. We point to a VkImage holding the data of our Texture. VkImageMemoryBarrier's are used in vkCmdPipelineBarrier calls and are used to transition the Layout of a VkImage. I always find it difficult to select the proper Access Masks and Pipeline Stages. The best advice I can give is to just try out and see if the validation layers complain. Also the Vulkan Discord Server is a good place to ask questions. I hope you liked the video, if you did you can support me by subscribing and leaving a like.