This project consist of the whole collection of homeworks I'd done for a the course CENG795 - Advanced Ray Tracing. The course was offered in METU, Ankara by Assoc. Prof. Ahmet Oguz Akyuz, in Spring2017 semester. The aim was to get to the depth of ray tracing in a mostly practical way. Here is the implementation of a ray tracer from scratch to path tracing, using C++.