\input texinfo   @c -*-texinfo-*-

@c The original files are xaos.geninfo and xaos.hlp. xaos.texinfo is
@c automatically generated. So make all changes in the orignal files please.
@c To regenerate xaos.texinfo, please run "mktexinfo".

@c Use A4 paper - If you don't like that, remove the following 3 lines.
@iftex
@afourpaper
@end iftex

@setfilename xaos.info
@settitle An fast realtime interactive fractal zoomer --- user's manual
@dircategory Graphics
@direntry 
* XaoS: (xaos).               A fast real-time interactive fractal zoomer
@end direntry


@ifinfo
@copyright{} 1996-2008 Jan Hubicka and the XaoS Development Team

Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.

@end ifinfo

@c %**end of header

@set VERSION    3.4
@set DATE       April 17, 2008

@titlepage

@title{XaoS @value{VERSION}}
@subtitle{A fast real-time interactive fractal zoomer --- User's manual}

@author{Jan Hubi@v cka}
@tex
Dukelsk\'ych bojovn\'\i ku 1944 
@end tex
@*
390 03 T@'abor @*
Czech Republic

Email: @code{jh@@ucw.cz}

@value{DATE}

@page
@vskip 0pt plus 1filll
@vskip 0pt plus 1filll

@copyright{} 1996-2008 @tex Jan Hubi\v cka and the XaoS Development Team
@end tex

Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.

@end titlepage

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node   Top,    Overview,       (dir),  (dir)

@ifinfo
@top XaoS @value{VERSION}
@flushright 1.0
A real-time interactive fractal zoomer
User's manual
@value{DATE}
@end flushright

This manual contains user documentation about XaoS --- a fast real-time fractal
zoomer. XaoS uses a development model, so sources are freely available. The
file @code{xaosdev.texinfo} in the source documentation contains a hacker's
manual (design overview, algorithm description etc.).
@end ifinfo

@menu
* Overview::		What does this software do then?
* tutorial::		XaoS tutorial
* controls::		Basic controls
* video::		How to encode video files
* format::		XaoS's file format description
* writehelp::		How to write XaoS help files
* xshl::		XaoS simple hypertext language
* drivers::		Driver specific documentation
* menus::		Functions, menu items and command line parameters
* about::		Credits
* support::		Getting Support
* index::		Function index
@end menu


@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node Overview, tutorial, Top, Top

@chapter Overview
@menu
* Why?::		Why yet another fractal generator?
* What?::		What does this software do then?
@end menu

@node Why?, What?, Overview, Overview
@section Why yet another fractal generator?


We decided to make XaoS, because all fractal browsers we know of take a
long time to calculate each image. You may browse nice images
generated by them but real impressions of fractals --- the self
similarity and infinite zooming into the nice parts of fractals ---
can be seen only in animations. There are many programs available that
make nice animations, but they take a long time to calculate and lots
of space on disk. Most such animations are quite ugly because their
authors can't see them without many hours of calculations.

A natural question is: is it possible to generate such animations in
real-time? The answer was negative for many years, since the Mandelbrot set is
very computationally expensive. Things are changing. Today's computers
are fast enough to calculate approx. 10.000 of pixels per frame,
which is enough 
for a very low resolution animation (100x100). Several programs doing that
are available. But 100x100 animation still looks quite ugly. To make
animation nice you need at least 320x200 pixels. And that is 6 times more!
One possibility is to wait until computers will be fast enough, but
it will take many years, and then 320x200 animations will be obsolete
and everyone will want 1024x768 resolution instead or more.

We found a special algorithm that saves up to 99.98% of calculations during
zooming by reusing pixels already calculated in previous frames. There were
some programs doing similiar tricks before but we don't know about any able
to do zooming interactively with a speed similar to XaoS. Many other tricks
were later implemented XaoS to achieve yet higher framerates. Now XaoS does
up to 120 frames per second on a 120Mhz pentium in a fullscreen 320x200
animation, and calculates an average of 160 (0.24%) pixels per frame. This makes
XaoS fast enough to achieve its primary goal, realtime animation, but there
are still many areas that could improve, since more complex fractals,
higher resolutions, or slower computers still bring many problems.

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node What?, , Why?, Overview
@comment  node-name,  next,      previous,  up
@section What does this software do then?

XaoS is a realtime interactive fractal zoomer. This means that it lets you
zoom smoothly into any place in the fractal you choose without the many hours
of calculation required by most other fractal generators. It now has many
other features too, like 13 different fractal types, autopilot, special coloring
modes, support for various bit depths (8bpp, truecolor, hicolor and realcolor),
random palette generation, color cycling etc...

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node tutorial, controls, Overview, Top
@c ## chapter tutorial ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node controls, video, tutorial ,Top

@c ## chapter controls ##


@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node video, format, controls ,Top

@c ## chapter video ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node format, writehelp,video ,Top
@c ## chapter format ##
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node writehelp, xshl,format ,Top
@c ## chapter writehelp ##
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node xshl, drivers,writehelp ,Top
@c ## section xshl ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node drivers, menus,xshl ,Top
@c ## chapter drivers ##

@menu
* aa::			AA-lib --- high quality ascii art driver
* BeOS::		BeOS drivers
* DGA:: 		DGA driver
* dos::			DOS driver
* dX-fullscreen::	directX fullscreen driver
* dX-window::		directX windowed driver
* ggi::			GGI driver
* plan9::		plan9 driver
* SVGAlib::		SVGAlib driver
* win32::		Win32 driver
* X11:: 		X11 driver
@end menu

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node aa, BeOS , ,drivers
@c ## section aa ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node BeOS, DGA , aa ,drivers
@c ## section BeOS ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node DGA, dos , BeOS ,drivers
@c ## section DGA ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node dos, dX-fullscreen , DGA ,drivers
@c ## section dos ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node dX-fullscreen, dX-window , dos ,drivers
@c ## section dX-fullscreen ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node dX-window, ggi , dX-fullscreen ,drivers
@c ## section DX-window ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node ggi, plan9, dX-window ,drivers
@c ## section ggi ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node plan9, SVGAlib, ggi ,drivers
@c ## section plan9 ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node SVGAlib, win32, plan9 ,drivers
@c ## section SVGAlib ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node win32, X11, SVGAlib ,drivers
@c ## section win32 ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node X11, , win32 ,drivers
@c ## section X11 ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node menus, about,  drivers,Top

@c ## menus controls ##
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@comment  node-name,  next,      previous,  up
@node about, support,menus ,Top
@c ## appendix about ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node support, index ,about ,Top
@c ## appendix support ##

@c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  node-name,  next,      previous,  up
@node index,  ,support ,Top
@unnumbered Index of functions

@printindex fn


@contents
@bye
