1ABOUT
2=====
3Fracplanet generates random planets and terrain areas with oceans,
4mountains, icecaps, lakes and rivers.  Parameters are specified interactively
5and the results displayed using OpenGL.  The generated objects can be
6exported as Pov-Ray or Blender models, or as textures.
7
8It uses C++ (with STL and boost), Qt and OpenGL.
9
10Home page: http://www.bottlenose.demon.co.uk/share/fracplanet
11
12Author: timday at timday dot com
13
14LICENSE
15=======
16This program is free software; you can redistribute it and/or
17modify it under the terms of the GNU General Public License
18as published by the Free Software Foundation; either version 2
19of the License, or (at your option) any later version.
20
21This program is distributed in the hope that it will be useful,
22but WITHOUT ANY WARRANTY; without even the implied warranty of
23MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24GNU General Public License for more details.
25
26You should have received a copy of the GNU General Public License
27along with this program; if not, write to the Free Software
28Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
29
30[The license should be in the LICENSE file in this directory]
31
32BUILDING
33========
34
35Either
36  qmake VERSION_NUMBER=x.x.x && qmake
37or
38  ./BUILD.sh
39will do the same thing using the version number from ./VERSION.
40(BUILD.sh assumes a Debian qt setup where a -qt=5 option can be used to select qt version; -qt=4 should also work).
41
42This should give you a "fracplanet" executable which you can run with
43  ./fracplanet
44or copy to wherever you like (see INSTALL section below).
45
46Besides the basic manual page in man/man1/fracplanet.1. there's some usage documentation in fracplanet.htm.
47This is processed into a usage_text.h included in the build by the builtin-docs-update.sh script.
48But usage_text.h is under version control and bundled in the release tarball so there shouldn't be any need to run builtin-docs-update.sh unless you edit fracplanet.htm.
49
50BUILD OPTIONS
51=============
52Qt's qmake builds the Makefile used to build the application
53so to change compile options you should mess with the fracplanet.pro
54(if you do change it, do a "make distclean" before
55you rebuild to make sure Makefiles are rebuilt)
56or provide overrides on qmake's command line.
57
58USAGE
59=====
60User documentation is contained in fracplanet.htm and accessible
61from the ABout tab of the application while running.
62
63If you just want to dive in all you need to know is this:
64
65After changing ANY of the terrain generation parameters, you must
66hit "regenerate" to create and display a new model.
67This keeps the random seeds for terrain and river generation the same.
68There are a couple of extra buttons which also change the random seed
69for the terrain or river network before regenerating,
70Most of the parameter entry fields have tooltips on them which
71give an idea of what they're about.
72To begin with it's best to start by making small changes
73to most parameters, especially the number of subdivisions.
74
75PERFORMANCE
76===========
77The biggest factor influencing performance (both generation and
78display) is the degree of subdivision.  For 9 subdivisions
79(for a planet) around 260MB of memory is required.  10 subdivisions
80needs just over a gigabyte.  Needless to say, if it starts swapping,
81it's not pretty.
82Generation of rivers and lakes can also be time consuming.
83
84FSAA/MULTISAMPLING
85==================
86In the past, fracplanet has been got to run nicely antialiased on NVidia hardware and drivers simply by doing
87  __GL_FSAA_MODE=7 ./fracplanet
88Check your graphics card's documentation for current relevant options.
89
90INSTALL
91=======
92Doing
93  make install
94no longer attempts to do anything useful.
95The only build product is the executable "fracplanet";
96simply copy it wherever you like.
97
98Other files of interest are:
99  man/man1/fracplanet.1
100  fracplanet.htm fracplanet.css
101  BUGS TODO THANKS NEWS
102
103OTHER STUFF
104===========
105Probably only of interest to those actively developing the code:
106
107 - mktgz builds the tarballs released on sourceforge.
108
109 - mkdeb builds .deb binary installables for Debian systems.
110   (It probably assumes you have things pbuilder set up in a certain way).
111
112 - mkdoc (in the CVS, not distributed) builds source-code
113   documentation using doxygen.
114