Vulkan examples

About To help people get started with the Vulkan graphics api I released a repository of examples C++ along with the start of Vulkan. I started developing these before Vulkan was publicly released while being a member of the Vulkan advisory panel, and have since then added more and more examples, demonstrating many different aspects of the api. The list of examples (already more than 60) range from basic api usage to more complex setups, and also include examples for different rendering methods and effects (physical based rendering, screen space ambient occlusion, deferred rendering, etc.

Vulkan glTF 2.0 C++ physical based rendering

About A physically-Based Rendering Vulkan reference implementation in C++ with image based lighting using glTF 2.0 models. The lighting equation is based on the reference glTF PBR implementation from Khronos. The main component of this project was writing a Vulkan glTF model loader and renderer that uses tinygltf, supporting most of glTF 2.0’s features. The application supports both pbr material workflows (metallic-roughness, specular-glossiness), renders the whole scene hierarchy and fully supports skinned animations for up to 128 bones.

Vulkan hardware capability viewer

About The “Vulkan hardware capability viewer” is a multi-platform client-side application that collects all available information from a Vulkan implementation that can be uploaded to a public database. The application is written in C++, uses Qt for the user interface and runs on Windows, Linux and Android. Goal of this tool is to create a database aimed at Vulkan programmers that need to check implementation specific information or just want to see what devices are supported or how far spread a certain feature is.

SPIR-V Extension for Visual Studio

About With the launch of Vulkan, SPIR-V has been introduced as it’s binary shader format, replacing text based shader formats in favor of an intermediate representation. To make life a bit easier I have just released a Visual Studio (2015) extension that adds SPIR-V related commands to the context menu of shader files (and folders containing shader files): This allows you got generate binary SPIR-V files from GLSL right out of your IDE.

GPU hardware database landing page

About With now three device hardware databases for OpenGL, OpenGL ES and Vulkan, I decided to create a single landing page the will display links to those three databases along with the number of uploaded reports. This is written in PHP just like the databases and the sources can be found at github. Landing page The landing page will direct to the different databases and also displays the number of reports uploaded to those databases.

OpenGL ES hardware capability viewer

About My first ever mobile app is now available over at Google’s PlayStore! This is a premiere for me, and though I wasn’t on wether to spend the 25$ registration fee for the google’s developer console, I hope many android apps and games will follow. Download via Google play The OpenGL ES CapsViewer is the mobile counterpart to the OpenGL CapsViewer, reading the OpenGL ES implementation info of your Android device, as well as device information that may be of use to developers.


About “Trugbild” (german for “delusion”) was made for the 2013 Pascal Game Development challenge over at PGD. The theme was “at your command”, which means you had to create a game with indirect control over e.g. a character. The deadline for this contest was one month, and since I knew upfront that my time to work on an entry would be very limited, I decided to go for something more experimental.

Dungeon Crawler

About Javascript In 2014, I converted the Delphi dungeon generation code to Javascript. A browser demo can be found over here. Windows Back in 2010 I released an article on random dungeon generation and wrote a small prototype along with it. But only recently I got the time and motivation to finish this demo up and release it alongside with source code, so anyone interested can take a look at the source and make something out of it.

Projekt "W" - Phase 2

About Projekt “W” - “Phase 2” is the successor to the original Projekt “W” released back in 2007. It includes lots of new features, additional content, more varied gameplay and adds a lot of strategic depth to the gameplay.The game is a turn-based strategy game where you lead one of the five remaining nation to complete world domination by wiping out all other nations. The turn-based nature of the game allows the player to plan carefully and gives it a deep strategic depth.

OpenGL hardware capability viewer

About The “OpenGL hardware capability viewer” (short “glCapsViewer) a multi-platform client-side application that reads out all important hardware capabilities of the current OpenGL-implementation present on your system (currently up to OpenGL 4.5), that can then be uploaded to a public database, serving as a tool for OpenGL developers. The early versions of this tool were developed using Delphi / Free Pascal, but the project has since then been redone in C++ is available for multiple platforms.

Delphi OpenGL header translation

About As the OpenGL headers shipping with Delphi are often outdated and thus lacking many recent OpenGL functions and extensions, we, over at the german Delphi OpenGL community, decided to publish our own header translations. Since around 2002 these headers have been updated with new OpenGL specifications on a regular basis. As of 2009 I’m the only remaining maintainer of these headers, and even though I no longer use Delphi for private Development, I still try to keep them up-to-date.

Explosion Texture Generator

About The Explosion Texture Generator (short ExploTexGen, to keep it in line with my Terrain Texture Generator TerrTexGen) is a tool to create a 2D texture of an animated explosion. Many games do explosions that way, by having them prerendered into a texture (in a grid with each grid cell containing a single animationf rame) and then just putting them onto a texture. This is a well known technique and has been used for many years now and is still used in many games.

Projekt "W"

About Projekt „W“ (the „W“ stands for „Weltherrscher“ which is german for „World ruler“) is my current project and up until now also my most ambitious and complex project. First ideas for this game came up in 2003 and I quickly put together a first prototype. But I didn’t really like the game design back then as I felt it was too bloated and boring, so I did put the project to rest.

ZornGL Engine

About I developed the ZornGL-Engine for my final school grade, where I had 6 months to finish it (starting october 2001) and to present it there I also made a small multiplayer game called “Ancient Rites” with this engine. After finishing this for school, I additionally worked on it several months to make it into an engine for a RPG. But as the engine was one of my first OpenGL apps, it had many problems that had gotten even worse in the end so I decided to totally stop that project.


About Jagdgeschwader was my entry for the 2005 “Dogfight”-Competition that was organized by the guys over at PGD (Pascal Game Developement). As the theme insists the entry should be about a fierce fight between two contrahents and that’s exactly what I did. I stayed (although it was no must) very close to the theme and created a game where two players fight each other in WW2-aircrafts to the death. The contest went for 2 and a half months and much of that time went into my entry.


About The NewtonPlayGround is a tool to show off the features of the Newton Game Dynamics Engine, a physics engine for real-time applications without having to actually write any code yourself. It let’s you create fully physics backed-up worlds where all objects interact with each other and also let’s the user interact with these objects. It also allows for saving those scenes to XML so that they can be given away to other users of the PlayGround or be used in your own projects.

Bean Machine

About After I already transported a videogame classic into a modern 3D environment (“Napalm Bomber 3D”) I decided to do the same thing to another of my 16-Bit favorites. The advantage of creating a clone is at hand : You don’t have to design a new game from scratch and you can jump right into developement. So this time I took Dr. Robotnik’s Mean Bean Machine (in asia also known as Puyo Puyo) that has been released by Sega on their MegaDrive (Genesis) in 1994.

Terrorcide - TNSoD

About As a fan of old Shoot-em’Up classics like R-Type and Salamander you often have no other choice than firing up an emulator and to play those gems there, but with their old 2D-graphics. And with Terrorcide (“The Nuclear Sword of Damocles”) I wanted to recreate the feeling of such games for the PC, together with modern graphics, effects and a story-based gameplay (the classics usually don’t have had real stories).

Unknown Constellation (Open)GL

About I initially started programming “Unknown Constellation” in early 2001 as the “sequel” to Sidus Obscurus. This time, the gameplay should have been much more strategic, as seen in games like Master of Orion or Ascendancy and it should have better visuals. But then I made a big mistake and started coding it using DirectDraw, and after running into some display problems and serious speed problems due to the fact that DirectDraw today is almost unaccelerated, I stopped the whole project.

Napalm Bomber 3D

About Napalm Bomber 3D is a remake of Hudson Soft’s classic Bomberman™, but with enhanched 3D-graphics using OpenGL. The project started out as a base for a series of tutorials, the I released for the Delphi-OpenGL-Community. But over the time, I added new features and expanded the game, so that it became a full fledged, good looking and fun to play game. The version that I finally released as freewaere includes a lot of different levels on different scenarios, renders realistic shadows, animated player models and nice looking explosions.

Terrain Texture Generator

About As the ZornGL-Engine had it’s own terrainrenderer, I decided to write this tool that can automatically generate a single huge texture map for a terrain. Based on the height-values in a greyscale image (the heightmap) it generates a single texture with a given set of texture distrbuted depending on the height of the map at a certain point. Over time the tool evolved and a lot of functionality was added, even upon user request as this tool seems to be widely used (even in some known projects).

Sidus Obscurus

About Sidus Obscurus was my first big game project that I wrote using Delphi and Win32. Back in the days I didn’t knew about OpenGL so it used some very old DirectX-components for Delphi (called DGC) which gave me a lot of trouble later on as they didn’t work with newer DirectX versions. In total I worked around 2 years on this game, gameplay was a bit like Ascendancy with it’s space exploration, resarch and different alien races but combined with a real-time-strategy part.