Showing 10 Result(s)


During my work at Cosalux I had the opportunity to work on a big project: the “Deutsche Börse Visitors Center” in the historical stock exchange building in downtown Frankfurt am Main/ Germany. The installation will provide visitors with extensive information about Deutsche Börse using newest technologies.

My part was to develop most of the hardware aspects of the installation as well as implementing a big 3x 4K 86″ interactive touchscreen and supervising the development of a 4K interactive touch-table.

The big interactive touchscreen, which we internally called touchwall (because its as big as a whole wall), provides all kinds of information to visitors and can be used by multiple visitors at the same time (up to 6). It’s using a infrared touch interface and is displayed using 3 86″ 4K monitors. The application itself uses Microsoft UWP because it was the only framework capable of rendering such a big resolution (11520×2160) and also provide useful multitouch gestures.

The touch-table provides additional interactive content, such as a trading simulation in which you can simulate different investments in stock exchanges as well as interactive videos. It also can be used by multiple users simultaneously and from all around the table.

Besides the two interactive touchscreens my job was to supervise some hardware installations like an modified old telephone which simulate dealer office calls during the 80s or motion sensors to trigger videos on big screens.

The whole installation is remotely controllable using building automation technology using KNX and other proprietary protocols. My job was to implement this automation and make sure everything turns off during the night and turns on in the morning again.

Most of the installation is running on redundant servers using virtualization and PCIe passthrough technology. My part was it to also install this server system and make sure everything can be switch over to the redundant system if anything fails on the main servers.

Additional images will be added as soon as the installation openes officially.


During my work at Cosalux GmbH I had the opportunity to work on a interactive VIP Room inside the Frankfurt Commerzbank-Arena. It was for the local transportation company “RMV“, thus was designed to look like inside a tram or bus. We were provided with original stop buttons used inside busses an trams and used them to allow interaction with the room. My job was to implement all the interactive parts in the room, like sound triggers, buttons, etc.

We embedded two monitors on the left side of the room which were built to look like windows in a tram, on which a information movie was running. You where able to press a button used on the trams to open the doors to scrub through the info video running on the two screens and also hide the video.

The stop buttons triggered a football themed sounds, every time you pressed a different one. One special was the emergency break, which triggered a much louder catch song playing, and also some light effects once you pulled on the lever.

Due to limited space I implemented everyting using a Intel NUC and a arduino. The Intel NUC was used to display the video on the two screens and output the sounds on the speakers using a custom written software in C#. The Arduino was used to fetch the button and lever inputs and send a command via virtual serial port to the C# software to trigger the respective event.

Also, there is a fake ticketing machine on which a litte touchscreen based betting game (“Tippspiel”) was running. My collegue Fabian implemented it using p5.js.

You can read more about the project at the Cosalux Website

BASF Designfabrik – VR Game

During my Work at Cosalux I have developed a Virtual Reality Game for BASF. My part on this project was main gameplay programming, VR implementation and interaction as well as parts of the visuals like VFX, shader effects etc.

The VR game was developed using Unreal Engine 4 and Oculus Rift. To provide further immersion the user was able to control his/her speed and direction using a VRGO chair, which has a builtin accelerometer.

You can find more about this project here

TE Connectivity – 3D Product Explorer

During my work at Cosalux I have developed a multitouch product explorer application for TE Connectivity, which was used at the trade fair Electronica in Munich.

My part on the project was main development of the whole application and shader/material development

The application is showing a high class rendered car made out of glass in which multiple products of TE where placed. It was used to present TE’s products, highlights and usabilities in a very realistic looking style.

The application was developed using Unity 3D and has language switching and dynamic content loading capabilities.

You can find more images and informations about the project here

Project Nine

Currently I am working together with a fellow student Martin Hinsen on a first person horror game called “Nine” as a free time project. At the moment it’s in a pretty early state but a working alpha version with most of the planned gameplay and the first few levels is existant as well as a small teaser trailer, which you can see here:

As development proceeds, new information will be provided here, so stay tuned

NoWork OpenGL Framework

During my studies I had to implement functinalities and algorithms for courses about graphics programming and virtual worlds etc. To easier implement or test methods or algorithms I thought about a simple framework, so I can avoid creating a full OpenGL stack and I/O functions etc. every time I was prototyping something or implementing stuff.

So I created a simple and lightweight OpenGL framework named NoWork. It was designed to be as simple as possible but still provide all neccessary functions to create a prototype or implement methods in either rendering or gameplay.

The following features are currently implemented:

  • Modern OpenGL 4.0+ render pipeline (no static pipeline)
  • Mesh loading using assimp
  • Sprite system including spritesheet animation
  • Font rendering
  • Framebuffer abstraction
  • Shaders with preprocessor features
  • HDR Textures
  • Asynchronous loading / multithreading support
  • OpenGL abstraction

All OpenGL functions are abstracted into an object oriented class system, so you don’t have to call OpenGL functions by yourself. This also provides thread safety using a jobhandler system, so multitreading is supported.

The framework itself can be either used as static or dynamic library. All you have to do is derive a class from GameBase class and register it to the framework object. For more infos have a look at the example project

The project is open source and published under the GNU 3.0 license. You can find the project at GitHub. Feel free to fork the project and contribute to it.

P.S.: The article picture above is rendered using NoWork and a physically based shader using a GGX-Smith-Schlick specular term and Lambert diffuse term.

Electronic parts warehouse software

Every time I want to tinker something electronically I have the problem that I dont know which parts I already have in my workshop and which don’t. Every time searching through every drawer costs a bunch of time, so I decided to program a warehouse software for electronic parts: eStock. Its pretty simple and small but it fits my needs.

It provides a nice overview of all available parts. You can create categories and use them as filter to search for similar parts, create multiple stocks which you can assign parts to, so you later know where a specific part is.

But it also is possible to create new projects where you can define all needed parts and the software tells you which parts are available and which are not. Then you can create a shopping list from that, so you only buy parts you really need.

To know where a specific part is the cheapest you also can define multiple shops where you also can define the prices of the parts.

With this information the software can either create a shopping list per shop or per price

The software is written in C# and uses either MySQL on a Server, so you can use one database on multiple PC (for example if I’m not in my workshop) or a local SQLite database

OpenGL deferred rendering with SSAO

Since I’m interested in graphics programming I decided to have a look into deferred rendering in OpenGL. What you see here is my implementation of a deferred rendering pass in OpenGL with SSAO and simple bloom. The scene is the well known “sponza” from Crytek. Materials have normal mapping with specular maps and the curtains have translucency (based on the method used in DICE’s Frostbite engine).

The GBuffer has following layout:

Specularity(when translucent: Translucency power)shininess(when translucent: Translucency Scale)metalliness (when translucent: Thickness)Material Id
Depth (GL_R32F)

Intermezzo Website

I have programmed the website for my dad’s band “Intermezzo”. A designer designed the website (as photoshop layout) and I made it “real”. It became some kind of mini content management system: It has a simple news system on the front page, a html5 music player, which songs you can define and upload via admin panel, a guestbook and an events plan.

For the website I developed an simple framework with PHP which includes a front controller, a database abstraction layer, a layout system, a GPC cleaner and user rights management, also known as role system.