- Recursive raytracing (Whitted Integrator)
- Can render Constructive solid geometries
- Can process triangle meshes through the .obj format
- Multithreaded
- Supports reflective and refractive materials
cmake >= 3.1.3
gcc
- Clone this repository:
$ git@github.com:simplay/cpptracer.git
- Fetch and update all external dependencies:
$ git submodule update --init --recursive
Build by making a build directory (i.e. build/
), run cmake
in that dir, and then use make
to build the desired target:
$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=[Debug | Coverage | Release]
$ make
Inside build/
, execute ./main.x
Execute ./main --help
to see a list of all available arguments.
Inside build/
, execute ./unit_tests.x
Inside build/
, execute ./benchmarks.x
Inside build/
, execute make doc
- Fork this repository
- Create your feature branch
git checkout -b my-new-feature
- Commit your changes
git commit -am "Add some feature"
- Push to the branch
git push origin my-new-feature
- Create new Pull Request (in your forked repository)
- Boilerplate taken from: https://github.com/bsamseth/cpp-project
- Explosion Rendering was inspired by the work of: https://github.com/ssloy/tinykaboom/wiki