Gravity3D v1.55 - 15/08/02
==========================

Description
===========
This application simulates the gravitational interaction between colliding galaxies. It displays hundreds of thousands of stars in realtime using OpenGL. The number of galaxies and stars can be controlled by the user. Other parameters such as the size, colour and intensity of the stars can be adjusted while the simluation is running. 

This application is intended to be both entertaining and educational.

The software is currently freeware, it is regularly updated and available from www.polygonworlds.com.

For the prettiest results switch motion blur to full, color cycling on,fog on and widescreen on. Refer to the controls section below on how to do this.


Technical Specification
=======================
This software requires a P.C. runnning Windows (Win95/98/Me/2000/NT/XP)

Minimum recommended system:
500Mhz Intel or AMD CPU
16Mb 3D Graphics Card
128Mb RAM

Parameter Editing
=================
You can use wordpad or notepad to change parameters in the Gravity3D.txt file.
The first parameter is the total number of stars (in thousands). You need 30 bytes of RAM for each star. so a 128Mb system could have 4 million stars. You can also set the application to use the right number of stars that will make it run at a particular frame rate. To do this set the first parameter to the negative of the frame rate you want. e.g. If you want 20 frames a second set the first parameter to -20.
The second parameter is the number of galaxies, up to a maximum of 12.
The fourth parameter is the RGB value of the background colour. The default is black (0,0,0)
The last parameter controls the star batch size. This can be used to tweak performance. For Pentium 3s it is best left at 3. For AMD athlon processors it works best at about 10. Experiment with the number to achieve the best performance. Valid numbers are between 1 and 20.

N.B.1 The number of stars in the galaxies will affect the intensity of the colours on screen, you can adjust the star size and intensity to prevent the colours 'burning out' (refer to the key section below as to how to do this)
N.B.2 Using a large number of stars can cause colour banding. This is caused by lack of colour precision in the graphics card. The next generation of graphics cards(NV30,R300) will have 128bit internal precision so this problem will disappear.

Accuracy
========
To allow this software to run in realtime it is assumed that orbiting stars have neglible mass compared to the parent star/black holes.
Dark matter is not taken into account.
Collisions are ignored.

Controls
========

Left mouse button - Click and drag to rotate the view. You can send the view into a spin by dragging and releasing while the mouse is still moving.
Middle mouse button - stops rotation
Right mouse button - Click and drag to translate the view up/down left/right.

Spacebar - Restart simulation

Left Arrow - reduce star size
Right Arrow - increase star size

[ - Reduce star intensity
] - Increase star intensity

< - Reduce motion blur
> - Increase motion blur

C - Toggle colour cycling on/off

F - Toggle Fog on/off. Fog dims stars that are further away.

1 - Various colours mapped to each galaxy
2 - Red/Blue colour map (Red is assigned to high absolute velocity, blue to low)
3 - Red/Blue colour map (Red is assigned to high acceleration, blue to low)
4 - Red/Blue colour map (Red is assigned to high velocity relative to parent star, blue to low)
5 - Red/Blue colour map (Red is assigned to highest distance from parent star, blue to low)
6 - Black/White
7 - Each galaxy is a shade of Yellow or Red.

S - Sets the mass of the parent star that has focus to zero. (Use F2 to focus on a parent star)
B - Sets the mass of the parent star that has focus to a high value. (Use F2 to focus on a parent star)

X - Take a screenshot in bmp format. Files are sequentially numbered from 0000 each time the applicatio is run.

H - Toggle HUD on/off.

P - Pause animation

Up arrow - Zoom camera in
Down arrow - Zoom camera out

F1 - Focus on a central point in space.
F2 - Cycle focus through parent stars
F3 - Switch between star render modes:
1- Distance attenuation off
2- Distance attenuation on/Point Sprite off
3- Distance attenuation on/Point Sprite On (Geforce 4 only)

F4 - Toggle widescreen(16:9) mode on/off

f5-f8 - Saves the simulation into slots 1-4
f9-f12 - Loads previously saved simulations from slots 1-4

Escape - Exit


Contact Info
============
Email: adrian@mars3d.co.uk
Website: www.polygonworlds.com


Version History
===============

Changes since v 1.54b
=====================
HUD not displaying sometimes, fixed
Major speed increase for Athlon machines (Software now optimised to use SSE on both Intel and AMD CPUs)
Added star batch size parameter for performance tweaking. (Refer to the Parameter Editing section)
The number of stars can now be set according to frames per second (Refer to the Parameter Editing section)
Several HUD additions

Changes since v 1.53b
=====================
Motion blur now should work on all graphics cards

Changes since v 1.52b
=====================
Added right mouse button functionality
Added colour cycling

Changes since v 1.51b
=====================
Improved motion blur option
Added jitter blur
Added more information to HUD
Current settings saved on exit
Allow background colour to be changed

Changes since v 1.5b
====================
Added motion blur option
Fixed bug when trying to run with more than 8 million stars
More effecient use of memory
Removed limit on number of stars(Number of stars now limited by amount of memory on host machine)
Marginally faster

Changes since v 1.0
===================
Many performance optimisations, including SIMD and SMP. (SIMD currently only implemented for Intel CPU's, I hope to add AMD SIMD support at a later date)
Distance attenuation implemented.
Now allows up to 12 galaxies.
Point sprite support added (Geforce4 only)
Widescreen mode
Pause option added
HUD added
Position colour mode added
Black hole option
Added fog option
Fixed star position seeding bug.
A couple of features have been temporarily removed in this beta version, they will reappear soon.