A (nearly) pure Ray Tracing Project for Python
This work is based off the books Ray Tracing: the Next Week by Peter Shirley but ported to Python
dependencies include:
- pypy3 (note all other dependencies must be installed within pypy3)
- numpy
- matplotlib
- tqdm
- noise
- Install Anaconda
- conda env create -f environment.yaml
- conda activate PyTrace_env
- pypy3 -m ensurepip
- if on mac you may need to fake a linked library described here
- pypy3 -m pip install -r requirements.txt
- pypy3 main.py
Technically, you can run w/o pypy3 installed but it is very slow w/o the JIT compilation, as seen below
Note: Iterations per second are how many output pixels are processed per second
2048 spp
800 x 800
Standard Implementation w/ PyPy
avg: 116.79 it/s
time: 1:31:19
2048 spp
800 x 800
Standard Implementaiton w/ Pypy
avg: N/A
time: ~ 3 Hours