Short: Trees,Plants...from grammars(rayshade) Architecture: m68k-amigaos README.AMIGA (2nd Version 12.93) ============= - To compile Graphtal on the Amiga you need GCC-233, the os-includes and a lot of memory. (compilation without optimizer: about 6MB) Don't forget to set a large stack size (256000 is fine) ! Because AmigaDOS isn't case sensitive you must edit string.h (for more information on this read the header of string.h) (NEW) Do also read the file IMPORTANT.README.AMIGA - Graphtal has a device for Rayshade output. - I have include some tools to convert PPM output to IFF24 in bin (to convert PPM output to IFF get the the PBM plus package) - Note: some examples for Graphtal need a lot of memory (over 10MB) ! - Note: Graphtal needs the cpp to process the inputfile. (NEW) cpp and sh are now included in the directory Unix - GCC-233 and Rayshade are available by anonymous FTP in ftp.luth.se or any other Aminet site - (NEW) Note: setting the environment variable COLORFILE now works (see changes in file color.C) - (NEW) examples how to use graphtal can be found in the file EXAMPLE.SCRIPT Lucas Ammon (lammon@iamexwi.unibe.ch) DESCRIPTION graphtal is a tool for manipulating spT0L-systems (context free, table oriented L-systems with stochastic productions). graphtal reads a file containing an L-system description and starts the interpretation. In addition, graphtal is able to interpret the result graphically, producing different kinds of output. The main reference for the program is the book The Virtual Laboratory: The Algorithmic Beauty of Plants by P. Prusink- iewicz and A. Lindenmayer. The language used in graphtal is different from the one in the book and will be described completely in this document. DEVICE DRIVERS EXAMPLE DEVICE The example driver produces a ASCII dump of the primitives generated. It shows the easiest way to implement a driver. BBOX DEVICE The bbox driver computes the bounding box and gives a hint for the viewing parameters of the objects defined by the L- system description. This is useful for the flat device, which does no automatic view computations. LINE DEVICE (X11,AMIGA) This driver generates a simple line drawing of the object defined by the L-system. Line width, color, textures, spheres, macros and library object are not supported by this driver. Viewing parameters are automatically set, when none are provided by the user. WIRE DEVICE (X11,AMIGA) The wire device driver draws a more realistic image of the object than line device. Not supported are colors, textures and library objects. Viewing parameters are also set automatically, when none are provided. FLAT DEVICE The flat device works with a z-buffer algorithm, which is able to shade convex and concave polygons. Shading calcula- tions are done with regard to the light source located at the eyepoint. The driver does not depend on the number of polygons, therefore even very large scenes can be visual- ized. As a drawback of this feature, the viewing parameters have to be provided by the user (use BBOX DEVICE to calcu- late them). Textures and library objects are not supported by this driver. The output of the rendering process is an image in ppm format (portable pixmap). RAYSHADE DEVICE The rayshade device is the most complete of all the drivers. It generates output for the raytracer rayshade. The driver produces at least two output files: graphtal -d rayshade anExample.lsys generates the files default.ray and default.ray.def graphtal -d rayshade -O anExample.ray generates the files anExample.ray and anExample.ray.def. The file name.ray contains the options for the rendering process and in the name.ray.def file the geometric primi- tives are stored. For each macro definition, the rayshade driver produces it's own file with the name macrName.ray.def. If library objects are used, a file with the name libraryName.ray.lib must be provided by the user for each object. AUTHOR Christoph Streit (streit@iam.unibe.ch) AMIGA PORT Lucas Ammon (lammon@iamexwi.unibe.ch) COPYRIGHT NOTICE Copyright (C) 1992 Christoph Streit All rights reserved. This software may be freely copied, modified, and redistri- buted provided that this copyright notice is preserved on all copies. You may not distribute this software, in whole or in part, as part of any commercial product without the express con- sent of the authors. There is no warranty or other guarantee of fitness of this software for any purpose. It is provided solely "as is".