2023-03-22

My Journey into 3D Computer Graphics Programming

The first time I saw something similar to a full immersive 3D experience was in a friend's house, Id's Wolfenstein 3D running on a huge IBM-compatible 386 tower. It was incredible. And I think that was the first time I thought, "I want to program something like that."

Some time later, I remember finding a Basic program that used polar coordinates to draw a 3D wireframe cube. Was it a book or a magazine? I can't recall. But I'm sure I translated the program to a pirated Turbo Pascal 5 and created an MS-DOS exe file that ran pretty fast! I showed it to some friends and a teacher in the informatics academy near my neighborhood, and the response was always positive. Inside me, I knew I couldn't explain how the program worked.

Some years ago, I became unemployed. I found the Irrlicht engine and started my most ambitious project to date: Formula Retro. It's a homage to Sega's Virtua Racing. My idea was to create an arcade game similar to it, but doubling the number of faces and resolution. With the help of @Ruben3D, I managed to create a car, put it on a track, and drive it.

Formula Retro Alpha 15

All the graphics math was still handled by the engine, but I had to learn a bit of trigonometry and algebra. Sadly, I ran out of money, so I took a job and stopped developing the game.

Recently, I found Pikuma's course for 3D Computer Graphics Programming and Gabriel Gambetta's Computer Graphics from Scratch. I also started learning Rust programming, and with the combination of these three things, I started my own software renderer.

Akinorender