Skip to content

simplay/cpptracer

Repository files navigation

Build Status Coverage Status Codacy Badge

C++ Raytracer

alt tag

Features

  • Recursive raytracing (Whitted Integrator)
  • Can render Constructive solid geometries
  • Can process triangle meshes through the .obj format
  • Multithreaded
  • Supports reflective and refractive materials

Dependencies

  • cmake >= 3.1.3
  • gcc

Setup

  1. Clone this repository: $ git@github.com:simplay/cpptracer.git
  2. Fetch and update all external dependencies: $ git submodule update --init --recursive

Building

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

Usage

Inside build/, execute ./main.x

Execute ./main --help to see a list of all available arguments.

Running the tests

Inside build/, execute ./unit_tests.x

Running the benchmarks

Inside build/, execute ./benchmarks.x

Generate Documentation

Inside build/, execute make doc

Contributing

  1. Fork this repository
  2. Create your feature branch git checkout -b my-new-feature
  3. Commit your changes git commit -am "Add some feature"
  4. Push to the branch git push origin my-new-feature
  5. Create new Pull Request (in your forked repository)

References

Releases

No releases published

Packages

No packages published