/Advanced3DRenderer

A 3D renderer in C++, based on the book "Physically Based Rendering"

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Advanced3DRenderer

A 3D renderer in C++, based on the book "Physically Based Rendering"

Explanation of the project

This project is based on the Third Edition (2016) of "Physically Based Rendering: From Theory to Implementation" by Matt Pharr, Wenzel Jakob, and Greg Humphreys. The book is available for free at pbrt.org. Thus, the code will be very similar to the one in the book, but with some changes to make it more understandable for myself and to share with others without the support of the book's explanations.

I personally see this whole project as a way to learn more about C++, optimization, OOP and most importantly, rendering. I will try to keep the code as clean as possible, but I will probably make some mistakes. If you see any, please let me know! Moreover, I will force myself to document the code as much as possible, being deliberately extensive in the comments for basic things, so that it is easier to understand for those who are not familiar with either programming or rendering. I will try to make the comments understandable for physic students as well as computer science students. Yet I suppose readers to have knowledge about linear algebra, vector geometry and the very basics of computer graphics. If you don't understand something, please don't hesitate to ask me!

Project duration

This project has started today on the 15th of December 2023, I am currently in my first year of Engineering School, so I don't know much about rendering yet. I will thus have to learn the book's content while coding, which sounds pretty interesting to me. I still do not expect to finish this project before the end of the (school) year, but I will try to work on it as much as possible.