Graphics‎ > ‎Graphic API‎ > ‎

Vulkan

There where no volcanic eruptions at long peaks in 2008

Vulkan is a low level API like DirectX12 and Metal. It is made by Khronos that also handle OpenGL.

The Basic Stuff

Vulkan is a C API and it use the prefix vk on it's functions. Constants begin with VK_ and use all capital letters. Vulkan objects are created with vkCreate* and take a Vk*CreateInfo structure with the parameters to create the object. The objects are destroyed with a vkDestroy* command. The create commands also takes a pAllocator structure that can be set to non-NULL if the application wish to handle host side memory allocation for objects.



Guide
  • Startup - How to startup vulkan and create all the basic objects needed.
    • Layers - What layers exist and can be helpful in development.
    • Extensions - What extensions exist.
  • Memory - How to get memory on the device.
  • Assets - All the type of things you need to create to put textures and meshes in.
  • Binding - Select what buffers or textures to use.
  • Command - How to create and use the command buffers.
  • Drawing - Use draw command in the command buffer.
  • Synchronize - Synchronize things.
  • Compute - Computer buffers and commands.
  • SPIR-V -
Tutorials
Links
IHV Blogs
Larger Code Examples
Games/Engines

Reference

Vulkan Webinars
1: Scaling to multiple threads - Youtube / Blog - 2015
2: High efficiency on mobile - Youtube / Blog - 2015
3: Scaling to multiple threads - Youtube / Blog - 2015

A tour of Granite’s Vulkan backend – Part 1