Lisa Paused
Description
Lisa is an OpenGL render engine written in C++ for the 3D Graphics course at Rey Juan Carlos University.
The main focus of the project was to learn the structure and architecture of a modern render engine, how components interact with each other, and what abstractions need to be made.
The project implements a render engine both with forward and deferred rendering, ECS-based scene definition, a complete modular post-processing engine and a simple interface to control some of the parameters of the scene.
My Work
I was the only developer for this engine, although I started from the base project the teachers provided, which could be contained in one file.
Thus, some of my time was dedicated to the refactoring the project with a clean, well-designed architecture made with modern C++ programming techniques.
The rest was dedicated to building a post-processing engine that could handle an arbitrary amount of passes of any kind (convolutional, depth-based, light-based, etc.) in a modular fashion, including their settings interfaces.
What I Learnt
- How a modern C++ project, and how a modern (despite simple) render engine are structured
- How post-processing works in modern render engines
- C++ techniques for efficiency and correct resource management