Add the autogen.sh script to the source tree.
[lsystem3d.git] / README
diff --git a/README b/README
index 2130ff7461b256b73e2d44a1ffbb373192bf7ffe..9343d71ed76fe5ab401e263432eddbb748e8de89 100644 (file)
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
 DESCRIPTION
 -----------
 
-LSystem3d is a experimental Lindenmayer System generator with 3d capabilities,
+LSystem3D is a experimental Lindenmayer System generator with 3D capabilities,
 whose main goal is to generate all kinds of plants or whatever fractal
-l-system structures the user desires. For now, LSystem3d is highly under
+L-system structures the user desires. For now, LSystem3D is highly under
 development and is considered alpha, that is, lots of things are missing and
 it will probably not work 100% accurate.
 
@@ -12,74 +12,66 @@ it will probably not work 100% accurate.
 REQUIREMENTS
 ------------
 
-Currently tested in Debian GNU/Linux (Sid) only, but should compile fine on
-other platforms without bigger modification.
+Currently tested on Debian GNU/Linux (Sid) only, but should compile fine on
+other platforms without bigger modifications.
 
-Necessary libs:
+A fast computer with HW accelerated 3D would be nice.
+
+
+Dependencies:
 
 OpenGL
-GLU
-GLUI User Interface Library
-GLUT (freeglut)
+FOX toolkit
 libxml++
-glibmm
 
 
 
 USAGE
 -----
 
-Keys:
-
-Esc        quit
-+          zoom in
--          zoom out
-y          rotate around the y-axis
-Up         move camera up
-Down       move camera down
-Left       move camera left
-Right      move camera right
-PageUp     move camera forth
-PageDown   move camera back
-
+Rendering window:
 
-Rules:
+Left mouse button:   Move model in z-plane
+Middle mouse button: Zoom in/out
+Right mouse button:  Rotate around y-axis
 
-=     name/rule separator
-A-Z   rewrite operator, step forward
-+     turn left
--     turn right
-&     pitch down
-^     pitch up
-\     roll left
-/     roll right
-|     turn around 180 degrees
-[     save state to stack
-]     restore state from stack
-{     first vertex of a filled surface
-}     last vertex of a filled surface
-f     one vertex of a filled surface
-!     decrement diameter of segment
 
+Controller window:
 
-Example:
+Axiom:    Initial rule
+Rules:    The L-system rules
+Angle:    Turn/pitch/roll angle
+Depth:    Depth of recursion
+Diameter: Initial diameter of segment
+Factor:   For each recursion level, multiply segment diameter with this value
+Generate: Generate the L-system
 
-The GUI input
 
-Axiom:       A
-Rule #1:     A=A/[!+A&A]/A
-Angle:       30.0
-Iterations:  4
+Rules:
 
-will render a simple l-system and create the xml-structure
+F       Walk forward, creating a segment
+A-Z     Replacement rule
+A(0.33) Probability factor 0.33 for rule A
+=       Rule assignment
++       Turn left
+-       Turn right
+&       Pitch down
+^       Pitch up
+\       Roll left
+/       Roll right
+|       Turn around 180 degrees
+[       Save state to stack
+]       Load state from stack
+{       Create a planar surface
+}       Close a planar surface
+f       One vertex in a planar surface, specified CCW
+!       Decrement segment diameter
+'       Increment current index to color table
+,       Decrement current index to color table
 
-<?xml version="1.0"?>
-<lsystem>
-  <axiom>A</axiom>
-  <rule name="A">A/[!+A&amp;A]/A</rule>
-  <angle>30.0</angle>
-  <iterations>4</iterations>
-</lsystem>
+Example:
 
-and save it to the file named "lsystem.xml" when quitting. The same file will
-be initially loaded every time LSystem3d is started.
+F(0.33)=[+FL]F/[-FL]F!
+F(0.33)=F[&FL]F!
+F(0.34)=F/[-FL]&F!
+L={,-f++f-|-f++f-'}