This is an implementation of a ray-tracer, currently following the Ray-Tracing In One Weekend(RTIOW) book series. I was inspired by my courses Intro To Graphics and Further Graphics and wanted to start coding up some of the concepts!
To build the renderer and get it to render the image shown beneath (the cover of RTIOW) to the file image.ppm, enter the project directory and run:
> make
> ./raytracer > image.ppmFor now, to create your own scenes, go into main.cc and edit the 'Scene Initialisation' part of the code. (I will improve the I/O soon!)
For more, see the results/clean folder!
Some extensions I would like to try:
- Book 2 (notably distribution over time, light sources and BVH)
- Book 3 (notably the content on importance sampling for indirect illumination)
- Improved user-facing I/O
- Command Line Use
- User-defined geometries?
- Metal Acceleration
- Import geometries from other sources (libgl?)
