Dirt is a simple ray tracer written in C++ and originally was used for the Rendering Algorithms course taught at Dartmouth College. It provides basic functionalities that are required to complete the assignments for Physics-Based Rendering (CS 15-468) taught at Carnegie Mellon.
The scene files used in assignments must be downloaded separately. Go to the v0 release and download the
scenes.tar.gz bundle. You can unzip this bundle using
tar -xf scenes.tar.gz on the command line. Place the unzipped folder inside of your repo (it should be on the same level as your src and include directories). Note that you can ignore all of the other bundles on the release page.
The Dirt repository contains source code that are a part of the actual ray tracer as well as other external libraries that dirt depends upon.
The external dependencies are located within the
ext subdirectory, and include:
filesystem- for manipulating paths on Linux/Windows/Mac OS
json- for handling json input file formats of scenes
stb_image- for loading and storing images
tinyformat- pretty formatting and printing of strings
pcg32- a small, self-contained cross-platform random number generator
The major components of the dirt can be split into the following.
Building from the command-line generally looks like this:
mkdir build cd build cmake .. cmake --build . -j 4
More detailed instructions for building dirt are provided in the course website.
Check the LICENSE file
Table of Content