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=release
If 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=releasenorays
For Windows MSYS2 use:
premake4 gmake
mingw32-make config=releasenorays
sudo mingw32-make install config=releasenorays --bindir=/usr/bin
If 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\bin
andC:\msys64\mingw64\bin
(refer to your msys install location) - Create an input.json -file
- Run tracer using the input file
tracer input.json
or
tracer-no-ray-save input.json
Check out the wiki.
For C++ class documentation we use doxygen. On unix use command line, windows use MSYS2.
- Goto
/doc
directory. - 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