2D Depth Shadow Displacement was my final project for my computer science degree, earning me a first-class grade. Inspired by Joar Jakobsson’s technique in Rain World, it demonstrates a method for 2D games where depth maps are used to project and displace shadows dynamically onto backgrounds.
I built the project in C++ with Raylib, compiling it with g++, and implemented a system that samples textures from dynamic objects, renders shadows to textures, and blends them to compose the final scene. The development was preceded by a research phase where I explored existing literature on the topic. It was a challenging but rewarding dive into graphics programming and creative problem-solving.
Once the grades are published, I will be allowed to make a blogpost breaking down the technique and showing some of the code.