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 Command Buffer
-
Draw Indirect - Vulkan Guide
-
VkCmdDrawIndirect(3) - Khronos Registry
-
New: Vulkan Device Generated Commands | NVIDIA Technical Blog
-
Command Buffers - Vulkan Tutorial
-
VkCmdDrawIndexedIndirectCount Func… | Apple Developer Forums
-
Indirect Command Encoding | Apple Developer Documentation
-
Vulkan/indirectdraw.cpp At Master - GitHub
-
Vulkano::command_buffer - Rust
-
[PDF] Generating Rendering Commands On Graphics Cards - IS MUNI
-
Is There An Overhead Cost To Commands Like Draw Indirect ... - Reddit
-
Manual: Extending The Built-in Render Pipeline With CommandBuffers
-
Vulkan Documentation - W3cubDocs
-
Graphics.Vulkan.Core10.CommandBufferBuilding - Hackage
-
Arm Mali GPU Best Practices Developer Guide Version 2.0