summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README33
1 files changed, 33 insertions, 0 deletions
diff --git a/README b/README
index 8b13789..795030d 100644
--- a/README
+++ b/README
@@ -1 +1,34 @@
+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