One year ago, we set out on a mission to make Vulkan API development more accessible for mobile developers through education, best practices and sample code. At GDC 2019, we unveiled our Vulkan best practices for mobile developers, and today we are announcing that this repository is being donated to Khronos.
Having worked with a number of studios and individual game developers over the past number of years. Our graphics and gaming engineering team learned a lot about Vulkan and how to optimise development of the API for targeting a mobile device. During this learning curve, the team found that there was a distinct lack of content around developing with Vulkan when targeting a mobile device. We decided to turn this learning experience into an open source project that included tutorials with sample code available for download, that developers can set up and get running on their devices. Along with these samples, we also provided easy to consume tutorials explaining the step by step process for each sample. The overall goal is we enable more developers to learn about the Vulkan API, it’s intricacies and how best to optimize for a mobile target. Over the past year we have added to this repository subject by subject, now boasting over 10 samples in both basic and complex use cases.
Developing high quality software is a difficult task without any help and developing high quality games is a tough task for any studio or developer. Projects and general development are accelerated through open source, where quality ideas and new ways of innovating happen naturally, through curiosity and the strive for better development. Arm released the project on GitHub with a permissive license We encourage developers and thought leaders in the area of Vulkan development to get involved as it is not vendor specific, and anyone can contribute.
At its core, this project is meant to address the challenge of attaining maximum performance on mobile using Vulkan. This project received great response from developers as well as the Khronos team behind Vulkan. Through Khronos’ large network, the project can grow beyond what it is now and help any Vulkan developer to achieve maximum performance from the Vulkan API.
Each sample tests a specific Vulkan feature and gives the developer on-screen controls of the multiple ways of doing something, showing the real-time performance impact with hardware counters on the display. Each sample is accompanied with an in-depth tutorial explaining in detail what is happening under the hood.
General
Vulkan Essentials
Vulkan Swapchains
Pipelines
Render Passes
Render Subpasses
Command Buffers
AFBC
We’ve been breaking the samples down into blogs which act as step by step tutorials to give a step by step approach to both the advanced and basic samples. So far we have written about:
We will be adding to this over the coming months, so make sure you join the community for updates.
[CTAToken URL = "https://github.com/khronosGroup/Vulkan-samples" target="_blank" text="Vulkan Best Practices on GitHub" class ="green"]