Thesis Details

Easy Vulkan

Master's Thesis Student: Halás Timotej Academic Year: 2021/2022 Supervisor: Milet Tomáš, Ing., Ph.D.
Czech title
Snadný vulkan

While older graphics APIs (Application Programming Interface) like OpenGL or DirectX of version 11 and lower are still commonly used nowadays, newer APIs especially DirectX 12 and Vulkan bring many enhancements like better performance, native Ray-tracing on supported hardware, and more efficient CPU and GPU usage. Performance and efficiency enhancements are the results of the nature of DirectX 12 and Vulkan APIs. Both are quite low-level APIs. That means that GPUs can be controlled on a much lower level which results in much more code that needs to be written to get similar results as when an older API is used. This thesis presents a new framework, vkEasy, that encapsulates Vulkan API in a way that most of its features stay usable, but makes it much easier to use Vulkan API for rendering or compute operations. Source code contains examples that were implemented using vkEasy to show simplicity of vkEasy and to compare it to raw Vulkan code. Average 94 % reduction in needed lines of code was observed.


Vulkan, easy, SPIR-V, GLSL, graphics, framework, library, simplification, render graph, VMA, Shaderc

Degree Programme
defended, grade D
22 June 2022
Chudý Peter, doc. Ing., Ph.D. MBA (DCGM FIT BUT), předseda
Bařina David, Ing., Ph.D. (DCGM FIT BUT), člen
Češka Milan, doc. RNDr., Ph.D. (DITS FIT BUT), člen
Grézl František, Ing., Ph.D. (DCGM FIT BUT), člen
Milet Tomáš, Ing., Ph.D. (DCGM FIT BUT), člen
Zemčík Pavel, prof. Dr. Ing. (DCGM FIT BUT), člen
HALÁS, Timotej. Easy Vulkan. Brno, 2022. Master's Thesis. Brno University of Technology, Faculty of Information Technology. 2022-06-22. Supervised by Milet Tomáš. Available from:
    author = "Timotej Hal\'{a}s",
    type = "Master's thesis",
    title = "Easy Vulkan",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2022,
    location = "Brno, CZ",
    language = "english",
    url = ""
Back to top