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.
- Run
./compile.sh. All this does is compile all.cppfiles in the./srcdirectory. - To render a sample image, run
./render.sh. This may take a few minutes (go and have a coffee). The output will be written tooutput.bmp. - To render an animation, run
./animate.sh. This may take a nontrivial amount of time. The output will be unceremoniously dumped to several dozen.bmpfiles.
- All setup is located in
main.cpp(for stills) andanimation.cpp(for animations). - Definitions for polyhedral meshes (i.e. the cube) is stored in
meshData.h.
