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 OSjson
- for handling json input file formats of scenesstb_image
- for loading and storing imagestinyformat
- pretty formatting and printing of stringspcg32
- a small, self-contained cross-platform random number generatorThe 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