# Terraform README

README
v&tfversion
&docownerFirst
&docownerLast

&docownermail

&wwwterraform

April 7, 2000

This is the README file for Terraform, an interactive fractal landscape modeller/viewer.

## README

### Author and Copyright

Terraform was written by Robert Gasch (Robert_Gasch@peoplesoft.com) and is copyright by the author.

Parts of this program are based on code from other software released under the GPL and/or other licence policy. See the file AUTHORS for details. The author gratefully acknowledges the contributions these people (unknowingly) prodvided.

### Distribution Policy

Terraform is available from it's home page &wwwterraform and released under the GNU GPL.

### Guarantees

Terraform should work all right but No representations are made about the suitability of this software for any purpose. This software is provided "as is" without express or implied warranty.

### What is terraform?

Terraform is an interactive fractal landscape generator/viewer. It's written using the GTK widget set and as such has a non-sucking graphical user interface.

### Version Number

The current version number is &tfversion . This is software under development and should be considered 'Beta'. For more detailed information of the changes for each version please check the `Changelog` document.

### What libraries does terraform use?

Terraform requires libglib 1.2.x, libgtk 1.2.x and libgtkmm (gtk--, the C++ Gtk wrapper) 1.1.10 (or newer) and (optionally) imlib 1.8.x. Terraform does not (yet) use the gnome libraries.

### What systems does terraform support?

Terraform should run on any UNIX type system with the proper libraries installed. For the latest details on these matters, consult the FAQ.

### What kind of hardware do I need?

Background: I typically work with height fields sized 400x400. The following advice is based on height fields of that size. Of course a 100x100 height field will be much less CPU/RAM hungry (about 16 times) but so small that it's almost useless.

CPU: I'm running terraform on an PII Celeron running at 540Mhz with 128MB RAM. I would think that for reasonable performance you at least want something like a Pentium 133 or better. Of course faster is better and slower is worse. If you want to use fetures like interactive or automatic rotation, you probably want something like a Pentium 300 or better. For (auto) rotation with a high wireframe resolution, you probably want the fastest possible CPU you can find. When using these modes on my machine, the X server requires more CPU than terraform and things get sluggish. There's a delay loop built in so that it won't just flood your CPU, but for high frame rates, even my machine could do better. My guess is that a commercial (optimized) X server would help here (I'm running XFree). I will look at possible performance optimizations later, once the base is stable (things like Xshm and a better (interruptable) drawing loop).

X-Windows: My X-Server is running at 16bpp, something which is probably a good idea. I havn't actually gotten around to seeing how terraform runs under 8bpp, but it's probably ugly.

Compiling the code: Compiling the code can take quite a bit of memory, depending on the optimization level used. I've seen the process compiling TFWindow.cc peak at around 30MB of memory when compiling without optimization and around 98MB of memory when using -O2. If you have the memory, enable -O2 optimization by adding it to TF_CXXFLAGS in src/Makefile.

Memory: Running terraform does not require large amounts of memory. Here is a tabele outlining memory requirements under the different display modes:

Memory image size
HF Size | default | fastWire (reduced*) | fastWire
--- | --- | --- | ---
400x400 | 3.8M | 4.1M | 5.3M
800x800 | 6.1M | 7.3M | 11M
1600x1600 | 14M | 19M | 35M

* = fast wireframe drawn at 1/2 of default resolution

### How do I get started?

cd into the directory where you've installed the source, type `./configure`. If configure balks at your supporting libraries, you'll have to go back and compile or install the proper version.

You should now be able to type `make` and build the executables. Once this is done you can type `make install` to install the Terraform executable and any supporting files it needs. If you want to change any of the startup defaults, you can copy the file `system.terraformrc` to `$HOME/.terraformrc`. Try `terraform --helprc` or `terraform --installrc` for more details.

### What command line options does Terraform understand?

For a list of supported command line options, type `terraform --help`.

### Where can I find the answer to ...?

Check the FAQ, it might just answer your question.