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
 -----------
 
 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
 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.
 
 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
 ------------
 
 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
 
 OpenGL
-GLU
-GLUI User Interface Library
-GLUT (freeglut)
+FOX toolkit
 libxml++
 libxml++
-glibmm
 
 
 
 USAGE
 -----
 
 
 
 
 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-'}