← All projects
Raycasting Engine2024Solo Engineer

Cub3D

A raycasting-based 3D graphics engine inspired by Wolfenstein 3D, built in C.

CMiniLibXRaycasting

01 · Problem

What made this interesting

Rendering a 3D world from a 2D map requires real-time raycasting calculations, texture mapping, and efficient framebuffer management — all within performance constraints of software rendering.

02 · Approach

How I solved it

Implemented a DDA raycasting algorithm for wall detection, texture mapping with perspective correction, and a framebuffer rendering pipeline using MiniLibX for window management.

03 · Result

What came out of it

A real-time raycasting engine rendering textured 3D environments from 2D map data, with player movement and collision detection.

04 · Highlights

Key technical details

DDA raycasting algorithm
Texture mapping with perspective
Frame buffer rendering
Collision detection

Next case study

Philosophers

A classical concurrency problem implemented to explore thread synchronization, mutexes, and deadlock prevention.