Vulkan & Rust using Ash binding tutorial for beginners 1

preview_player
Показать описание
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
Рекомендации по теме
Комментарии
Автор

The first Vulkan tutorial I could follow 😂I finally have a working Vulkan program in Rust!

goobus_floobus
Автор

i like the way you explain things!
will there ever be a continuation for this series?

mochou_p
Автор

Thank you very much for this tutorial, I really liked your in-depth way of teaching. It helped me a lot as I'm just getting started with Vulkan and this is the first tutorial I've followed. I've done a little of wgpu and I've noticed there's quite a bit of similarity between boths APIs.

When you went over the queues it got my attention because I'm using a AMD RX 6700 GT and I have at most a queueCount of 2.

Looking forward for part 2!

marcosdanieltorres
Автор

Just discovered this. This is great dude.

MigraineBuddy
Автор

First time seeing a moroccan rustacean.. i thought its only me

OmarAbragh
Автор

Can you really assume the order of elements of a slice, wouldn't that be relying on undefined behavior? Can you really sight where in the vulcan specification it defines the first physical device as the best one?

PetraleiTanyl
Автор

How is this tutorial different from another vulkan rust series which one i should start first???

carver
Автор

this is an awesome video. will there be a continuation with swap chain and rendering into window?

bifidoc
Автор

Hi can you add text for the Cutscene plugin so like you can add a text at the bottom for every camera

Houstonthrillofthefight
Автор

why would't you just do "let physical_device = unsafe {..}?[0]" instead of

gaast
welcome to shbcf.ru