OpenGL 3D Renderer (WIP)
Simple 3D renderer built from scratch with OpenGL and C++.
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.