Faster Compile Times Through Parallel Compilation on Multiple Cores? (With Benchmarks)
I currently have access to PCs which are of totally different form factors—one being a desktop-PC, the other being a laptop-PC—and actually have pretty diffe...

Hi there, great to see you around! My name is Johannes Unterguggenberger. I've been working for the Research Unit of Computer Graphics at TU Wien for a couple of years, got my Ph.D. in 2025, and am currently working as a Senior Computer Graphics Architect for Huawei Technologies. This is the home page of my personal website, which contains mostly posts about real-time rendering and related topics. Please use the Disqus-sections at the bottom of each blog post (available after accepting cookies) to discuss about the respective topic!
First Author Papers:

My Vulkan Lecture Series on YouTube has gained some attention and should be very helpful with understanding the concepts of the Vulkan API. It has also been linked on The Khronos Group's vulkan.org website under learning resources. The Vulkan Lecture Series represents the way how I think that learning Vulkan should be approached, s.t. maximum understanding can be gained.
For all the work shown in Title Image, I have used the Auto-Vk-Toolkit framework, which adds a lot of convenience for Vulkan development. While it probably should get some updates here and there, it has proven to be quite effective for rapid prototyping, research, and also in teaching graduate students the concepts of Vulkan from a slightly higher level.
At Huawei Technologies, I am still working in the field of real-time rendering, mostly implementing algorithms, optimizing GPU performance, and doing research in this field---which is arguable the greatest field of them all within computer sciences, and ever will be.I currently have access to PCs which are of totally different form factors—one being a desktop-PC, the other being a laptop-PC—and actually have pretty diffe...
In this post, I’d like to describe a strategy how a proper and (hopefully) easy to understand perspective projection matrix for Vulkan can be set-up manuall...
When programmers with an OpenGL background learn Vulkan, they often expect—or hope—that the projection matrices they have used with OpenGL continue to work w...
Vulkan snchronization validation has reached version 1.0 as reported by LunarG on January 13th, 2021. They published an official documentation of it, titled ...
A question that I’ve asked on StackOverflow: C++ best practice: Pass use-only (not stored) lambda argument to function by const-reference or by forwarding-r...