Low level APIs like Vulkan give us much more control over the hardware than higher level APIs similar to OpenGL. This control is achieved not only through resources we can create, manage, and operate on, but especially through communication and interaction with the hardware. The control Vulkan gives us is fine grained, because we explicitly specify which commands are sent to hardware, how and when. For this purpose command buffers have been introduced; these are one of the most important objects Vulkan API exposes to developers. They allow us to record operations and submit them to hardware, where they are processed or executed. And what's more important, we can record them in multiple threads, unlike in high level APIs like OpenGL, where not only are commands recorded in a single thread, but they are recorded implicitly by the driver and sent to hardware without any control from the developers...




















































