C++

Master Thesis

Construction of a gonioreflectometer to capture and render BRDFs
I constructed a gonioreflectometer using microcontrollers (Arduino) and stepper motors with code written in Java using OpenCV. With this device, BRDFs of arbitrary materials can be captured. This project also includes rendering the captured BRDFs using C++ and OpenGL. Furthermore one can capture and render light fields, light stages and 3D-Scans without modifying the device.
For this work I received the first audience-prize and the first jury-prize of the CV-Award 2019 at the University of Koblenz.

ORVIS

Modern OpenGL 4.6 and C++17 rendering framework
This is my most recent framework for personal projects and quick and easy development of OpenGL based applications.
It uses modern C++17, OpenGL 4.6 and a GPU-driven rendering pipeline including AZDO, DSA, bindless textures and indirect multi-draw calls. It also automatically performs GPU-view-frustum-culling and contains a fast model-loader, PBR-shading and various other real-time rendering techniques.

Acceleration data structures for real-time ray-tracing

Line Space, BVH and Octree
Together with Kevin Keul, Tilman Koß and Stefan Müller I worked on research and development of new GPU-based data structures to accelerate GPU-ray-tracing. This includes the development of the new Line Space data structure as well as research in bounding volume hierarchies, recursive grids and sparse voxel octrees (all of them on the GPU).

Volumetric Lighting

Froxel-based real-time volumetric fog
We implemented the frustum-aligned voxel-grid based volumetric lighting algorithm presented by Bartlomiej Wronski in Volumetric Fog and Lighting (GPU Pro 6). We used OpenGL 4.6 and C++17 and our team consisted of Maximilian Mader (@maxesstuff), Darius Thies and me.

DINO

Ray-Tracing framework for distance fields and implicit surfaces
DINO was developed by me and 12 other students in an internship at the University of Koblenz.
It renders distance fields and implicit surfaces in real-time and is also able to discretize triangle meshes to SDFs. Rendering is done using OpenGL and the framework is implemented in C++17. Public access to the project is coming soon™.
This project received the third prize of the CV-Award 2019 at the University of Koblenz.

CVARK

AR-Framework
In this internship I developed the augmented reality framework “CVARK” at the University of Koblenz together with 13 other students.
We used NVIDIA PhysX, OpenCV and OpenGL as well as C++ and GLSL to implement a funny AR-Game.