OpenGL 3D Renderer (WIP)

Simple 3D renderer built from scratch with OpenGL and C++.

Team size: 1 Time Frame: Ongoing (since July 2025) Tools: C++, OpenGL, ImGui
Showcase overview

Introduction

This is a personal project where I am building a simple 3D renderer from scratch using C++ and OpenGL. The goal of this project is to deepen my understanding of graphics programming and the underlying principles of 3D rendering and game engines.

For this project I am following the amazing Learn OpenGL online book as a guide while also taking creative liberties to implement additional features. So far I have implemented basic rendering of textured 3D cubes, flying camera controls, a simple settings UI using ImGui and a fog effect.

My goal is to keep growing this project into a simple 3D engine that I can use to make games in the future. The idea of having an engine that I fully understand and with an architecture designed by me is very appealing.

Video Presentation

A short video showcasing the current state of the project.

What I learned

This project taught me a lot about the fundamentals of 3D graphics programming. I had never worked directly with OpenGL before, so implementing basic 3D rendering techniques from scratch gave me a better understanding of how real-time rendering works, giving me valuable insights into how engines like Unity and Unreal function under the hood. This was also around the time I started reading the Game Engine Architecture book by Jason Gregory, which further solidified my understanding of game engines.