Two projects developed using C++ and OpenGL.
the first one emulates the core logic used by popular game engines. The goal was to create a small, functional game engine, showcasing fundamental features such as rendering and input handling.
the second one explore the techniques required for implementing shadow mapping. This involved understanding and applying the principles of light projection, depth buffering, and shader programming to achieve realistic shadow effects in a 3D environment.