Mastering Graphics Programming with Vulkan book the main source of my education so far: https://books.google.co.uk/books/about/Mastering_Graphics_Programming_with_Vulk.html?id=IDCoEAAAQBAJ&redir_esc=y
Great starting Vulkan tutorial I completed before reading the book: https://vulkan-tutorial.com/
A vulkan tutorial I’ve been using here and there for extra help, it’s moved advanced and free alternative to the book I’m using: https://vkguide.dev/
2:29 – Naught Dog GDC talk on threading: https://www.youtube.com/watch?v=HIVBhKj7gQU
2:38 – EnkiTS library: https://github.com/dougbinks/enkiTS
3:55 – Thread affinity tutorial: https://www.youtube.com/watch?v=95fFNzV4sd0
4:11 – Intels introductionary talk on task based threading: https://www.youtube.com/watch?v=1sAR3WHzJEM
4:17 – Bungie’s talk GDC talk on threading: https://www.youtube.com/watch?v=v2Q_zHG3vqg
4:43 – Vulkan command buffers: https://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html
5:56 – https://stackoverflow.com/questions/55272626/what-is-actually-a-queue-family-in-vulkan
5:56 – Vulkan queues: https://docs.vulkan.org/spec/latest/chapters/devsandqueues.html#devsandqueues-queues
7:08 – Vulkan command pools: https://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html#commandbuffers-pools
8:35 – https://vkguide.dev/docs/chapter-5/memory_transfers/#transferring-memory
12:29 – Vulkan Renderpass talk: https://www.youtube.com/watch?v=yeKxsmlvvus
source
15 comments
Super amazing stuff, I am not brave enough for Vulkan, I can hardly hang with OGL! Good work!
please make climbing stairs easy
Frankly, I didn't understand most of the stuff you are talking about here. And I can bet vast majority of other people either.
If you are talking about the code, it would be nice to show some of the code at least. Otherwise everything gets mixed up and it's not clear what are you talking about here. Or drawings at least.
Don't show the engine footage if there is nothing interesting happening there.
Lovely, its refreshing to see such low level implementations still happening. I think this kind of work that can open up the gates for new way of doing stuff, instead of relying on premade game engines.
@11:16 you need tonemapping 😄. Super simple to implement, and the result will look soo much better xD.
Easiest tonemapper: Reinhard, xyz / (1.0 + xyz)
My favourite easy one: Adjusted Reinhard, xyz / (1.0 + max(x,y,z))
The one I use in my game engine: convert sRGB to linear, Adjusted reinhard, plus mixing towards white with very bright colors, back to sRGB.
I see you have something like "dynamically recreate descriptor sets", I advise you to look into bindless it will be much more convenient, so you have only 1 descriptor set per frame with N bindings(like samplers, textures, images, whatever you want.)
Command in command buffers are, in fact, NOT executed sequentially. That's why you explicitly synchronize different passes because otherwise, GPU can reorder the work in the way it likes.
But overall, good video, keep it up man!
would you be interested in making me a game, it's very simple, what can i get for a thousand dollars?
command buffers.
engine performance after you said vulkan and cpp ++++++++++++++++++++++
As a Vulkan enthusiast, I thoroughly enjoyed this talk on the Vulkan API! Does the book you recommend ("Mastering Graphics Programming with Vulkan") explain how multithreading works in a beginner-friendly way, or should one first practice multithreading in a simpler context than Vulkan?
Is it the command pool in flight, or is it the command buffer? I know you can add a fence to some command buffer operations so I just assumed that it was the command buffer which needed to be properly synced. If it is the command pool that needs to be synced, would that be due to the queue family? I don't know much about queue families, but can there only be 1 operation per queue and that's why the pool needs to be synced
Ive always been amazed by people who understand shaders.
Did you jump straight into Vulkan, or did you start out with something like OpenGL?
Super cool stuff! I'm working in Bevy engine, but I can't help but feel I'll end up learning Vulkan at some point.
Comments are closed.