This is a yet another ray tracer program. It may not be the fastest and may not be the easiest to understand.
| Project status: | |
|---|---|
| License | |
| Build Status |
- Download MSYS2 https://msys2.github.io/
Compiler must support C++11 -syntax!!! Also threading support is required: http://en.cppreference.com/w/c/thread
Required packages:
-
make
-
cmake
-
g++
-
lapack
-
qhull (This is for STL-geometry creation)
-
libhdf5-serial-dev
-
doxygen (for class documentation)
-
graphviz (for class documentation)
-
Download and install Armadillo
-
Get the premake4 software: http://industriousone.com/premake Copy the executable to MSYS2 bin-directory
C:/msys64/usr/bin
- Build source. On main source folder:
premake4 gmake
make config=release
sudo make install config=releaseIf you encounter HDF5 errors like /usr/bin/ld: cannot find -lhdf5_serial and are sure that you installed libhdf5-serial-dev, you can try to edit the Tracer/premake.lua at line 2 and 12. Try using linker flags hdf5, hdf5_serial or hdf5_cpp and run the premake4 again.
For faster executable without saving of the traced rays use:
premake4 gmake
make config=releasenorays
sudo make install config=releasenoraysFor Windows MSYS2 use:
premake4 gmake
mingw32-make config=releasenorays
sudo mingw32-make install config=releasenorays --bindir=/usr/binIf you want the debug parameters to print out use:
make config=debug_verbose- On Windows you should add the msys2 bin directories to system PATH. This enables the MMP API to run the tracer
2. Go to System settings in Control Panel
2. Open Edit Environment variables and add to PATH
C:\msys64\usr\binandC:\msys64\mingw64\bin(refer to your msys install location) - Create an input.json -file
- Run tracer using the input file
tracer input.jsonor
tracer-no-ray-save input.jsonCheck out the wiki.
For C++ class documentation we use doxygen. On unix use command line, windows use MSYS2.
- Goto
/docdirectory. - Run
doxygen
Documentation is placed inside /doc/html. Open index.html to read it.
For code contributions please use Google-style C++ code
https://google.github.io/styleguide/cppguide.html
https://github.com/google/styleguide/
For Python use PEP8-style. Formatter: https://pypi.python.org/pypi/autopep8/1.1.1
Original project team: Olli Tapaninen, Petri Myöhänen, Juuso Olkkonen.
This research has received funding from the European Union's 7th Framework Programme (FP7-NMP) under NMP-2013-1.4-1 with grant agreement no. 604279