Introduction to the Vulkan* Graphics API

This video will help you get started get you started with Vulkan, a low-level graphics API for both Windows and Linux operating system that allows developers to prepare high-performance graphics applications likes games, CAD tools, and benchmarks.

 

Hi. I'm John. And this video is to get you started with Vulkan. Vulkan is a low level graphics API which works for both Windows and Linux operating systems. The code is available at the link below. 

Vulkan is seen as open GL successor. A multi-platform API that allows developers to create high performance graphics applications, like games, CAD tools, and benchmarks. It can be used on different operating systems like Windows, Linux, or Android. Vulkan also shares other things with open GL including graphics pipeline stages and nomenclature. 

But there are many differences that confirm the need for a new API. Open GL is a good library, but not everything can be done by simply adding new functionality to match the abilities of [? new ?] graphics cards. Sometimes a huge redesign has to take place. And that's why Vulkan was created. 

What is the difference between traditional graphic API's and the new low level API's? High level API's, like open GL, are quite easy to use. The developer declares what they want to do and how they want to do it. And the driver handles the details. The driver checks if API calls are used properly. If the correct parameters are passed. And whether the state has been adequately prepared. Feedback is given on any issues. 

In low level API's, the developer is the one who must take care of these details. They are required to adhere to strict programming and usage rules. And also, must write much more code. But this approach is reasonable. The developer knows what they want to do and what they want to achieve. The driver does not. So with traditional API's, the driver has to expend additional effort to make the program work properly. 

With Vulkan, this additional effort can be avoided. That's why DirectX 12, Metal, and Vulkan are called thin drivers or thin APIs. Mostly, they only communicate user requests to the hardware, providing only a thin abstraction layer of the hardware itself. The driver does as little as possible for the sake of much higher performance. 

There are scenarios where you find no difference in performance between open GL and Vulkan. If someone doesn't need multi-threading or if the application isn't CPU bound, open GL Is enough and using Vulkan will not give you a performance boost. But if you want to squeeze every last bit from your graphics hardware, Vulkan is the way to go. Sooner or later, all major graphics engines will support these new low level APIs. 

More information is available at the article link below. Thank you for watching.