Vulkan & Rust using Ash binding tutorial for beginners 1
In this video, we have successfully created the simplest fully functional vulkan program from start to finish.
Am using:
- Language: Rust
- Libraries: ash, gpu_allocator, bytemuck, anyhow, image
- OS: Windows 11
- IDE: vscode
This channel is AD-free and will always be AD-free, it's purely for educational purposes in the name of the one and only God and the name of knowledge and science.
This video is Creative Commons, you're free to use all of it or part of it for educational purposes without any permissions as long as you mention my channel's name or put a link to this video as a reference.
I'm a Vulkan beginner too, but my knowledge and videos are based on experience, research, trial, and error. I believe in teaching a subject while I am a beginner because a beginner won't skip details and will explain the subject in a more beginner-friendly way than a professional at the cost of potential loss of accuracy and rigor. the struggle of learning is still fresh on a beginner's mind. Finally am learning more by teaching and am learning better code and asking more questions because I know someone will read my code and watch my video : )
TLDR: A beginner understands beginners more than an expert and teaching is a good learning method.
Discord server:
[ Ссылка ]
Ash binding:
[ Ссылка ]
Vulkano high level wrapper over ash binding:
[ Ссылка ]
Gpu allocator:
[ Ссылка ]
Vulkan Caps Viewer:
[ Ссылка ]
Vulkan GPU Database:
[ Ссылка ]
GitHub repo:
[ Ссылка ]
GitHub commit (repo):
[ Ссылка ]
▬ Contents of this video ▬▬▬▬▬▬▬▬▬▬
00:00 Rust & Vulkan crates
05:00 Ash entry
8:15 anyhow crate
11:00 Instance
19:20 Physical device
25:45 Device
33:00 Validation, vkconfig and vkcube
35:30 VulkanCapsViewer and Vulkan Database
40:30 Queue families and queues
1:02:00 gpu-allocator crate
1:04:55 Command pool
1:12:00 Command buffer
1:16:30 Buffer
1:39:20 Record command buffer
1:49:00 Submit command buffer
1:55:30 Fence
1:57:00 Read buffer from Host (CPU)
2:02:00 Drop the allocator before destroying device
2:07:40 Reading per u32 instead of u8
2:10:40 bytemuck crate
2:14:00 Saving buffer as an image using image crate
2:21:00 Use TRANSFER_DST instead of UNIFORM_BUFFER for optimal performance
2:22:40 u32 color bit manipulation
2:26:50 std::env::args
2:32:37 Testing our little program
2:34:10 Release build
2:35:50 Measuring time of GPU and saving PNG image
Vulkan & Rust using Ash binding tutorial for beginners 1
Теги
vulkanvulkan graphics apiapivulkan graphicsvulkan apivulkan tutorialvulkan rustvulkan rust ashvulkan rust vulkanomodern graphicsmodern graphics programmingtutorialbeginner tutorialrust bindingrust vulkan bindingrust vulkan ashrust vulkan gpu_allocatorgpu_allocatorrust gpuimage craterust image crategpu_allocator craterust gpu_allocator cratebytemuck craterust bytemuck craterust programming languageanyhow error handling