This is Dimension, a project to create a GPLed, POV-Ray compatible ray tracer. It is currently stable but lacking in features, to the point of unusability. But if you want to try it anyway, see the INSTALL file for how to compile and run it. For a quick demo, run ./autogen.sh && ./configure && make check, and look at tests/dimension/demo.{pov,png}. Documentation for the `dimension' program will eventually be in the doc/ directory. (Out of date) API documentation for the ray tracing library libdimension is also in doc/. Source-level documentation is found, well, in the source code. To know where to look, refer to this mapping: Client (GPLv3): =============== ENTRY POINT: dimension/main.c Tokenizing: dimension/lexer.l Language directives: dimension/tokenize.c Parsing: dimension/common.rules Extra parsing stuff: dimension/{common,grammar,directives}.* Tests: tests/dimension/*.{pov,sh} Library (LGPLv3): ================= API: libdimension/dimension.h, libdimension/dimension/*. (Implementations for libdimension/dimension/$file.h are generally at libdimension/$file.c) Ray tracing algorithm: libdimension/raytrace.c Bounding hierarchy: libdimension/prtree.{c,h} Library internals: libdimension/dimension-impl.h and its #includes Tests: tests/libdimension/*.{c,cpp} Benchmarks: bench/libdimension/*.c