Toy raytracer I wrote in C++ back in 2015.
- Accurate treatment of reflective, refractive, and diffuse surfaces, including Fresnel interactions.
- Depth of field
- Adaptive sampling (samples increased on noisy pixels)
- Probably some more things that I forgot about since 2015
Works out-of-the box on Linux with g++ installed. Shouldn't be too hard to run on Windows.
./compile.sh. All this does is compile all
.cppfiles in the
- To render a sample image, run
./render.sh. This may take a few minutes (go and have a coffee). The output will be written to
- To render an animation, run
./animate.sh. This may take a nontrivial amount of time. The output will be unceremoniously dumped to several dozen
- All setup is located in
main.cpp(for stills) and
- Definitions for polyhedral meshes (i.e. the cube) is stored in