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.
Timeframe: Worked on irregularly
Used languages and libraries:
C++23, Vulkan, Tracy, Visual Studio, VS Code, Assimp, ImGUI
Features:
Ray Tracing (AO, reflections)
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
Bachelor's thesis (2021.1)
Implementation of Voxel-Based Global Illumination in a physically-based deferred renderer in OpenGL
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
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.
Timeframe: 2 days
Used languages and libraries:
C#, Unity, Git
Features:
Ship controls
Input
Camera
Transitions
Event system
University Project / Self-study (2020.2)
Basic DistanceMatching and RotationWarping implemented as a UE4 Animation Plugin. Heavily oriented on Epic's solution used in Paragon. Only supports character rotation between 0-45° currently.
Timeframe: 1 month
Used languages and libraries:
C++, Unreal Engine 4
Features:
Controlling animation speed based on character speed
Smoother transition for start and end animations
Rotating bones based on character rotation
Custom node in the UE4 animation system
University Project (2020.1)
Portal-like fluid rendered in OpenGL.
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
Self-study (2020.1)
Filtering an HDR Environment Map, creating a cubemap out of it, and mapping it onto a sphere in OpenGL.
Timeframe: 3 weeks
Used languages and libraries:
C++, OpenGL
Features:
HDR Environment Map Sampling
Offscreen Render Pass
Monte Carlo Filtering
Cubemap generation from environment map