Photorealistic Rendering
A simple raytracing library for generating photorealistic images.
Photorealistic Rendering

A simple raytracing library for generating photorealistic images written in C++.

It is developed for the course Numerical techniques for photorealistic image generation held by professor Maurizio Tomasi (University of Milan, AY2020-2021).

πŸ‘©πŸ»β€πŸ’» The main contributors to this repository are Elisa Legnani and Adele Zaini.

Brief description

The main functionality of the library is rendering photorealistic images from user instructions on an external input text file. The code features four different backwards raytracing algorithms (onoff, flat, pathtracer, pointlight tracer) and –at the moment– the scene elements are basic geometric shapes (spheres, planes, boxes). Setting material properties of the objects determines the interaction with light rays, while the observer point of view is represented by a camera with two different projections available (orthogonal and perspective). This library has another useful functionality that is converting HDR images to LDR ones. The format supported are respectively PFM and PNG/JPG.

🌈 "Reality leaves a lot to the imagination." – J. Lennon. Here is the means, now it's your turn... unleash all your imagination!

Installation

πŸ’» Information on how to install and compile the code are on our GitHub repository.

Usage

πŸ”— A webpage Photorealistic rendering has been created in order to give detailed explanations on the program usage.

Contributing

🚧 Any contributions are welcome, to enhance this documentation or the code itself! References are on our GitHub repository.

License

πŸ“„ The code is released under the terms of the lGNU General Public License v3.0. See the file LICENSE.md.