Push Constants - Vulkan Game Engine Tutorial 09
Vulkan Push constants are an easy and performant way to pass data to a shader, via a vulkan command buffer rather than writes to memory or copy commands. They’re a great option for data that updates frequently, however have a main drawback of being limited in size.
In this tutorial I provide an introduction to vulkan push constants and show a simple method for easily drawing multiple copies of an object as well as applying motion.
** WARNINGS **
Note that at 8:18 when I first run and get a red triangle, depending on your system you may get a crash. This demonstration is relying on undefined behaviour. Just keep going with the tutorial and adding alignas(16) will fix things.
** Timecodes **
0:00 - intro to push constants
2:40 - define pushConstant struct and range
4:20 - write push constant data
5:50 - updating shader files
7:20 - auto-compile shader remarks
8:18 - Alignment Requirements
10:06 - Adding Motion
11:14 - pros vs. cons of push constants
12:18 - transformation matrices
** View File Changes **
https://github.com/blurrypiano/littleVulkanEngine/commit/eb41544f3bf26130ca4d3872bbdc84a484171dc4
note: I messed up the commit message to say tutorial 8 rather than 9. The file changes are correct, but the title should say tutorial 9.
** View playlist **
https://www.youtube.com/watch?v=Y9U9IE0gVHA&list=PL8327DO66nu9qYVKLDmdLW_84-yE4auCR&ab_channel=BrendanGalea
** 3Blue1Browns Linear algebra series **
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
** Video topic resources (alignment requirements, push constants, ...) **
https://github.com/blurrypiano/littleVulkanEngine/tree/master/littleVulkanEngine/tutorial09
** Some other resources **
My github for this series - https://github.com/blurrypiano/littleVulkanEngine
Official vulkan samples - https://github.com/KhronosGroup/Vulkan-Samples
“Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.”
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Push Constants - Vulkan Game Engine Tutorial 09», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.