Skip to content

bheisler/raytracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a toy raytracer I wrote in rust to learn how raytracers work. I also wrote a series of posts on it starting here.

Quickstart:

First, you'll need to have cargo installed. Then you can clone the repository and run the raytracer:

cd raytracer/app
cargo run --release scenes/test.json out.png

You can modify the rendered scene by editing test.json. Enjoy!

Python Quickstart:

This repository also contains code for exposing the raytracer through a C interface to Python. If you'd like to define your scenes in python instead, you can do this (note that on Unix-like OS's you may need to edit the path in python/raytracer.py to point to the *.so file instead of a dll):

cd raytracer/ffi
cargo build --release
cd ../python
python runner.py