Fairy Tale Memories
Screenshot of our game Fairy Tale Memories for iOS and Android
(currently unavailable)

Hi there, great to see you around! My name is Johannes Unterguggenberger and I am mostly concerning myself with real-time graphics programming and research. This is the home page of my personal website, which lists some details about my publications and GPU programming endeavors before listing my posts. 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:

The last item exposes my main technological orientation in recent years:

GPU Programming

Vulkan Logo

Our Vulkan Lecture Series should be very helpful, especially for Vulkan beginners. It represents the way how I think that learning Vulkan should be approached, s.t. maximum understanding can be gained. Some of the episodes dive quite deep into some topics, though. Therefore, intermediate Vulkan developers might hopefully be able to gain some additional understanding too. The lecture series has also been listed/recommended on Khronos' very own vulkan.org -> Learn -> Tutorials.

For your subsequent C++ and Vulkan programming adventures, the following convenience and productivity framework might be helpful: Gears-Vk. It is intended for the purposes of rapid prototyping, teaching/learning, but ultimately also as efficient and convenient general-purpose framework. Internally, it uses Auto-Vk, which is a platform-agnostic layer atop Vulkan-Hpp.

I currently devote most of my time to real-time rendering research at the Research Unit of Computer Graphics at TU Wien and to further the development of Gears-Vk and Auto-Vk. However, my most famous GitHub repository is VolumetricLinesUnity, an asset for the Unity game engine that renders lines in a volumetric appearance.

Recent Posts

Floating Point Epsilon Calculator

3 minute read

When using floating point variables, there’s always the danger that a certain number cannot be represented exactly. Therefore, oftentimes epsilon values need...