Software Engineer (Diplom-Informatiker)
Computer Graphics (OpenGL), Cross-Platform Development (C++, Qt, Qml, CMake), Open Source, 3D Middleware
Co-Founder and software developer at CG Internals GmbH.
As a software developer, I have over 15 years of experience in creating complex software systems.
My main areas of expertise are
- Cross-platform development with C++ for Windows, Linux, and Mac, using platform-independent frameworks and libraries such as Qt and Qml,
- OpenGL for real-time computer graphics applications,
- web-based rendering backends using node.js / express,
- as well as CMake and git for project management.
My current main interest is in creating real-time 3D applications, such as interactive visualization systems, computer-aided product presentations, simulations, or games based on OpenGL 3/4. I have experience in implementing modern rendering techniques based on OpenGL, as well as creating complex computer graphics middleware in commercial and open-source contexts.
Until 2018, I was working at the Hasso Plattner Institute, in the Computer Graphics Systems department, as a research and teaching assistant and PhD candidate.
C++ binding for the OpenGL API, generated using the gl.xml specification. The library uses modern c++11 language features (e.g., type safety, namespaces, enum classes, etc.) to improve the use of OpenGL in C++ environments.
C++ library that wraps OpenGL concepts into C++ classes. This library strictly wraps the concepts and objects of OpenGL into C++ classes, without adding further abstraction levels or rendering concepts. As such it simplifies the use of OpenGL in C++ programs, but does not restrict or interfere with your use of OpenGL in your application.
Cross-platform rendering engine based on glbinding and globjects. This library provides a flexible pipeline concept, which enables you to design and implement high-performance GPU-based rendering and processing systems, such as big data processing and visualization systems. It contains automatic integration of scripting and flexible UIs, and is therefore suitable especially for rapid prototyping of state-of-the-art visualization systems.
Cross-platform C++ file system library supporting multiple backends. It provides a unified API to access file systems in C++, either local, remote (e.g., SSH), or virtual file systems (e.g., zip/tar-files).
cppexpose is a C++11 library that provides tools for introspection of types, properties, and classes. This allows for a C++ program to expose its interfaces into the runtime, making it possible for example to create automatic GUI representations, and to automatically creating bindings for scripting environments such as JavaScript. The implementation is based on standard C++ templates and does not use language extensions or macros, making it typesafe and usable with any C++11 compliant toolchain. Also, no meta compilation step is required.
C++ library that provides frequently needed utilities extending the STL, such as string operations, filesystem functions, logging, etc.
Build system template based on CMake 3.0, using only modern CMake features. The template is aimed mainly at C++ projects, providing all necessary steps for building, testing, automatic documentation generation, and deployment of your project.
GTX is a visualization software I developed as part of my PhD thesis. It enables the interactive visualization and analysis of massive spatio-temporal data sets, which is demonstrated for two use cases: The visualization of large number of 3D movement trajectories (air-traffic movements), and the visualization of large geo-referenced networks for the field of climate research.
GTX is based on a highly specialized visualization engine, implemented using C++ and OpenGL, which has been optimized for the interactive processing and visualization of large geo-referenced data sets on the GPU.
PixelLight is a cross-platform 3D engine and application framework for any kind of 3D applications like games, interactive simulations, or visualizations. It's based on a highly flexible scene graph system that allows you to compose and visualize any type of 3D scene for your application. PixelLight is written in C++ and has been designed with flexibility and extensibility as one of it's main goals.