This repository is a learning project based on ssloy/tinyraytracer. This project is under DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE.
The purpose of this project is mainly about Rust language rather than ray tracing. Therefore, this implementation of this project is separate into two step,which are 'transfer' from C++ to Rust, and reform code into 'Rusty' way.
In the original project, there was a header file provided for step 1 to 9. In that header file, several basic data type were provided, including 3-dimension vector itself and operation override for vectors. For the convenience, Rust package vek is imported for 3-dimension vectors and operations.
In the homework branch of original project, stb library was included for processing JPEG files. For the simply of this repository, these part is not included yet.
During the code translation, one potential bug in the original project was fixed. The final translated code could be found here.