To developers {#mainpage}

Overview

This project uses CMake as its management tool. Its directory tree is organized as follows:

  • /
    • CMakeLists.txt
    • lib/
      • assets/
      • raytracer/
      • pcs-detection/
      • fetch-pcs-detection.sh
      • CMakeLists.txt

The main build file is lib/CMakeLists.txt. Previously we maintained several of those, however this led to duplication of information. Documentation is maintained as a single main Doxyfile, plus source comments.

The lib/ folder contains project source files, as well as some assets for the UI. To build the project, firstly execute the fetch-pcs-detection.sh script. It will download the pcs-detection library (a required dependency) to its correct place. Then create a build/ folder in the top level directory of the project, cd into it, then run cmake ../ && make. Compiled binary is qtRaytracer. To generate documentation viewable in the web browser, do a make doc.

It is recommended to develop this project either in Arch Linux or in Ubuntu -- non-LTS, preferably. However, if you choose Ubuntu, pay attention to the version of its packages, as they quickly become out-of-date.

Build Dependencies

  • AntTweakBar
  • Doxygen 1.8.x+ - Documentation Generator
  • Eigen 3.x+ - C++ linear algebra library
  • Glew - OpenGL extension wrangler library
  • Qt 5.x+ - GUI Toolkit
  • cmake 2.6.x+ - Build management tool
  • g++ 4.6+ - C/C++ compiler
  • vcglib - Visualization and Computer Graphics library for dealing with triangle meshes

It is recommended to use Qt Creator as your main IDE together with your favorite text editor, and ccache to speed up successive compilations.

To final users

See also / Resources