New Vulkan Example: Indirect Drawing - Sascha Willems
Có thể bạn quan tâm
- Vulkan Posts Tutorials Examples CapsViewer glTF PBR
- About
- Posts
- Creations
- Archive
- Search
I have added another example to my open source C++ Vulkan examples. The new one is about indirect drawing (including multi draw if supported). Contrary to their non-direct counterparts, the indirect drawing commands in Vulkan take their draw calls from a buffer that is ideally stored in device local memory. So instead of running single draw commands that get their index base, index count and instancing numbers passed by the host upon getting called, the indirect commands are backed by a buffer that stores an arbitrary number of draw commands.
The example renders a huge number of plants with different geometries only using one single draw call. All plants geometries are stored in one buffer, and each indirect draw command uses different index offsets and also does instancing.

This technique is the based for several GPU-based functions that have traditionally been handled by the CPU. As the draw commands are stored in a buffer that the GPU has access too, it’s now possible to have a compute shader manipulate the draw commands that are issued so the GPU can take on tasks like culling or draw command generation in general.
vulkan vulkan-examples- ← Previous Post
- Next Post →
Từ khóa » Vulkan Indirect Dispatch
-
VkCmdDispatchIndirect(3) - Khronos Registry
-
Vulkan Memory Barrier For Indirect Compute Shader Dispatch
-
Dispatch Indirect 2.0 ? #1467 - KhronosGroup/Vulkan-Docs - GitHub
-
Indirect Draw/dispatch Commands Investigation · Issue #31 - GitHub
-
Draw Indirect - Vulkan Guide
-
Architecture Of The Vulkan Loader Interfaces - LunarG
-
New: Vulkan Device Generated Commands | NVIDIA Technical Blog
-
Vulkan API Reference - VkCmdDispatchIndirect(3) - v
-
Emil Persson On Twitter: "My Vulkan Barrier-fu Is Weak. What Barrier ...
-
Vulkan Documentation - DevDocs
-
Vulkan Dispatching Commands - 代码交流
-
Design And Implementation Of A Vulkan Engine - GRIN