Vulkan Renderer

Hobby

Implementing a multi-threaded renderer in Vulkan and researching new technologies. While learning Vulkan from scratch, I am also challenging myself with engine system implementation. Since this is a hobby project, code refactoring is done irregularly.

Tracy asynchronous asset processing image

Timeframe: Worked on irregularly

Used languages and libraries:

C++23, Vulkan, Tracy, Visual Studio, VS Code, Assimp, ImGUI

Features:

Ray Tracing

TAA, DLSS

Multi-threading (Main thread, RenderThread, Asynchronous CommandBuffer thread)

Bindless Textures

Dynamic Rendering, Timeline Semaphores

Screen Space Shadows

CSM

Clustered Shading (Work in progress)

GPU Driven Rendering

Depth Prepass

Deferred Shading

ECS, fast updates even with 100,000+ entities (Simple custom implementation)

Scene viewer, Scene system

Shader Hot Reloading

Unreal PBR

ACES, Uncharted, GT7 Tone Mapping

Mesh Loading Processing

Voxel-Based Global Illumination in OpenGL

Bachelor's thesis

Implementation of Voxel-Based Global Illumination in a physically-based deferred renderer in OpenGL

Build

Video

Timeframe: 2 months

Used languages and libraries:

C++17, OpenGL, CMake, Assimp, ImGUI, boost

Features:

Deferred Rendering

Physically-Based Lighting

Compute Shader

Geometry Shader

Cone Tracing

3D Textures

Visualization of Voxel Texture

Rubiks Cube

University Project 2021

Rubiks Cube in OpenGL

Build

Video

Timeframe: 1.5 month

Used languages and libraries:

C++17, OpenGL, boost

Features:

Deferred Rendering

Animation

Normal mapping

Environment mapping

Blinn-Phong Lighting with Gamma correction

.obj reader

Sound

Calm Horizon

Global Game Jam 2021

3D Adventure Game made in Unity together with three professional programmers from which I could learn a lot. Project was done remotely.

Build

Video

Timeframe: 2 days

Languages and tools:

C#, Unity, Git

Responsibilities

Ship controls

Input

Camera

VindZeit

University Project 2020

3D adventure game prototype developed in a team of three with the Unreal Engine 4. I was the sole programmer and functioned as an advisor to the two artists. Project was done remotely.

Build

Trailer

Walkthrough

Timeframe: 5 months

Languages and tools:

C++, Unreal Engine 4, Git

Responsibilities:

Programming (C++ and Blueprints)

QTE system

Camera effects

Animations

Particle and general optimizations

v>

UE4 Animation Plugin

University Project / Self-study 2020.2

Basic DistanceMatching and RotationWarping implemented as an UE4 Animation Plugin. Heavily oriented on Epic's solution used in Paragon. Only supports a character rotation between 0-45° currently.

Example without plugin

Example with plugin

Timeframe: 1 month

Used languages and tools:

C++, UE4

Features:

Custom node in the UE4 animation system

Controlling animation speed

Smoother transition to start and end animations

Rotation bones based on character rotation

Fluid Rendering

University Project 2020.1

Portal-like fluid rendered in OpenGL.

Build

Timeframe: 3 weeks

Used languages and libraries:

C++, OpenGL

Features:

Fluid rendered with Signed Distance Function

Lighting for procedural objects

Creating billboards with a Geometry Shader

Environment Map Filtering

Self-study 2020.1

Filtering a HDR Environment Map, creating a cubemap out of it and mapping it onto a sphere in OpenGL.

Build

Timeframe: 3 weeks

Used languages and libraries:

C++, OpenGL

Features:

HDR Environment Map Sampling

Offscreen Render Pass

Monte Carlo Filtering

Basic Offline Raytracer

Self-study 2020.2

Programmed and ported an offline raytracer and ported it to CUDA with the help of tutorials.

Please build with VS2019

Render

Timeframe: 1 Week

Used languages and libraries:

C#, Unity, Cg/HLSL

Features:

Diffuse Material

Metal Material

Glass Material

Depth of Field