Lisa Paused
- Lisa
- Master's Degree in Computer Graphics, Games & VR @ Rey Juan Carlos University
- Kamihi
- Club App
- Shotō
- Erasmus+ in Politecnico di Milano @ Politecnico di Milano
- Flight
- Research and Development Fellow @ ES3
- Bachelor's Degree in Software Engineering (English Group) @ University of Seville
- Technical Office Assistant @ Encasa
- KWC
- Lisa
- Master's Degree in Computer Graphics, Games & VR @ Rey Juan Carlos University
- Kamihi
- Club App
- Shotō
- Erasmus+ in Politecnico di Milano @ Politecnico di Milano
- Flight
- Research and Development Fellow @ ES3
- Bachelor's Degree in Software Engineering (English Group) @ University of Seville
- Technical Office Assistant @ Encasa
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