This is a very simple raytracer that supports STL files, multithreading and (soft) shadows. With that being said, it is still a work in progress.
Rendering objects in games and animated videos has always been dark magic for me and with realtime raytracing coming to relatively new GPUs, I finally decided start learning about rendering and the math behind it.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You will need to have the following programs installed on your system:
- Rust
Clone the repository to your local machine
git clone https://gitlab.com/CubeArrow/raytracer.git
Change directory to Cubelang
cd raytracer
Run the program
./cargo run --package raytracer --bin raytracer
Model and material taken from a model by skartemka
These are very useful resources that I have used to get started with this project
- Ray Tracing in One Weekend - The article I started with when creating this project.
- Notes on efficient Raytracing - An article that explains how bounding volume hierarchies can be used to make raytracing more efficient.
This project is licensed under the MIT License - see the LICENSE.md file for details