A fast hyper-spacial ray-tracing library
Important: this library makes extensive use of features exclusive to C++11. At the time of this writing, the only compilers that can build this library are GCC >= 4.7 and Clang >= 3.1.
NTracer is a simple ray-tracer that can work with scenes with an arbitrary number of dimensions.
The renderer can use an arbitrary number of threads and by default uses as many threads as there are processing cores. For small dimensionalities (by default, eight or fewer dimensions), the library uses specialized routines with the number of dimensions hard-coded, which offer better performance by avoiding the looping and heap allocation that the generic versions require.
The main goal is to aid in the visualization of higher-dimensional space. Python and Pygame were chosen as the library’s interface to make experimenting with user interfaces and navigation schemes as easy as possible. The included script, hypercube.py, offers a working example.
Documentation is available at http://rouslan.github.io/NTracer/doc.