Raytracing 473 Final Project
Evan Ovadia

This is the epic amazing raytracer made by the god of C++ himself (along with Ilya Seletsky and Adam Rizkalla who did the BVH and a some CUDA optimization). Before you continue, you may want to pause to bask in its glory. Once you are ready, keep reading... This project uses CUDA and a BVH, so we have pretty fast runtimes. bunny_large_tris_area.pov (included in handin, its just bunny_large_tris with an area light) with one shadow ray (+MonteCarlo1) is:
real 0m14.883s
user 0m7.676s
sys 0m6.524s
(note: this is just before midnight on thursday, which may be a peak hour for tesla)

We don't have the code without the optimization, because we couldn't maintain two branches very easily. But the fact that our raytracer is only taking 15 seconds, which is blinding fast, should be evidence that we had a considerable speedup.

To run:
1. log on to tesla
2. run make clean all
3. run this command:
  ./build-release +W640 +H480 +Isimple_reflect.pov +MonteCarlo256 +Reflection +Refraction
4. see simple_reflect.tga

Notes:
- To antialias, add the option +AntiAliasing[n] where [n] is multiplier. For example, +AntiAliasing3 will use 3x3 antialiasing.
- Index of refraction may be slightly off. Use 1.1 for best results.
- Recursion depth is 10