361 lines
13 KiB
Plaintext
361 lines
13 KiB
Plaintext
Celestia: A real-time visual space simulation
|
|
|
|
Copyright (C) 2001-2002, Chris Laurel <claurel@shatters.net>
|
|
|
|
--
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
|
USA.
|
|
|
|
--
|
|
|
|
Installing:
|
|
|
|
WINDOWS:
|
|
Unzip the files into a temporary directory, such as c:\temp\ Then, select
|
|
Run from the Start menu and enter:
|
|
|
|
TEMPDIR\setup.exe
|
|
|
|
Where TEMPDIR is the name of your temporary directory (e.g. c:\temp\setup.exe)
|
|
This will launch the setup program that will install Celestia on your
|
|
computer. After setup is complete, launch Celestia by selecting it from
|
|
the start menu.
|
|
|
|
UNIX:
|
|
See the file INSTALL for detailed UNIX installation instructions. Briefly,
|
|
though:
|
|
./configure
|
|
make
|
|
make install
|
|
|
|
|
|
Running Celestia:
|
|
|
|
Celestia will start up in a window, and if everything is working
|
|
correctly, you'll see Jupiter's moon Io in front of a field of
|
|
stars. In the left corner is a welcome message and some information
|
|
about your target (Io), your speed, and the current time (Universal
|
|
Time, so it'll probably be a few hours off from your computer's clock.)
|
|
Right drag the mouse to orbit Io and you should see Jupiter and
|
|
some familiar constellations. Left dragging the mouse changes your
|
|
orientation too, but the camera rotates about its center instead of
|
|
rotating around Io. Rolling the mouse wheel will change your distance
|
|
to the space station--you can move light years away, then roll the wheel
|
|
in the opposite direction to get back to your starting location. If your
|
|
mouse lacks a wheel, you can use the Home and End keys instead.
|
|
|
|
In Celestia, you'll usually have some object selected; currently,
|
|
it's Io, but it could also be a star, planet, spacecraft, or galaxy.
|
|
The simplest way to select an object is to click on it. Try clicking
|
|
on a star to select it. The information about Io is replaced with
|
|
some details about the star. Press G (or use the navigation menu),
|
|
and you'll zoom through space toward the selected star. If you
|
|
press G again, you'll approach the star even closer.
|
|
|
|
Press H to select our Sun, and then G to go back to our solar system.
|
|
You'll find yourself half a light year away from the sun, which looks
|
|
merely like a bright star at this range. Press G three more times to
|
|
get within about 30 AU of the sun and you will be to see a few become
|
|
visible near the sun. Right click on the sun to bring up a menu of
|
|
planets and other objects in the solar system. After selecting a planet
|
|
from the menu, hit G again to travel toward it. Once there, hold down
|
|
the right mouse button and drag to orbit the planet.
|
|
|
|
Tour Guide
|
|
The tour guide is a list of some of the more interesting objects you can visit
|
|
Celestia. Select the Tour guide option in the navigation menu to bring up the
|
|
guide window, choose a destination from the list, click the Goto button, and
|
|
you're off.
|
|
|
|
That covers the very basics . . .
|
|
|
|
|
|
MOUSE FUNCTIONS:
|
|
|
|
Left drag to orient camera
|
|
Right drag to orbit the selected object
|
|
Use the mouse wheel to adjust distance to selection
|
|
(for wheelless mice, dragging while holding left and right
|
|
buttons or left dragfing while holding control to dolly camera
|
|
will adjust distance)
|
|
Left drag while holding shift to zoom
|
|
Click the wheel to reset the field of view to 45 degrees
|
|
Left-click to select; double click to center selection
|
|
Right-click to bring up context menu
|
|
|
|
KEYBOARD COMMANDS
|
|
|
|
Navigation:
|
|
H : Select the sun (Home)
|
|
C : Center on selected object
|
|
G : Goto selected object
|
|
F : Follow selected object
|
|
Y : Orbit the selected object at a rate synced to its rotation
|
|
: : Lock on selected object
|
|
" : Chase selected object (orientation is based on selection's velocity)
|
|
T : Track selected object (keep selected object centered in view)
|
|
HOME : Move closer to object
|
|
END : Move farther from object
|
|
ESC : Cancel motion or script
|
|
Left/Right Arrows : Roll Camera
|
|
Up / Down Arrows : Change Camera Pitch
|
|
1-9 : Select planets around nearby sun
|
|
|
|
Time:
|
|
Space : stop time
|
|
L : Time 10x faster
|
|
K : Time 10x slower
|
|
J : Reverse time
|
|
|
|
Labels:
|
|
N : Toggle planet and moon labels
|
|
B : Toggle star labels
|
|
= : Toggle constellation labels
|
|
V : Toggle info text
|
|
|
|
Options:
|
|
U : Toggle galaxy rendering
|
|
O : Toggle planet orbits
|
|
/ : Toggle constellation diagrams
|
|
Ctrl+A : Toggle atmospheres
|
|
I : Toggle cloud textures
|
|
Ctrl+L : Toggle night side planet maps (light pollution)
|
|
Ctrl+S : Toggle between textured and point stars
|
|
Ctrl+E : Toggle rendering of eclipse shadows
|
|
; : Show an earth-based equatorial coordinate sphere
|
|
[ : Decrease limiting magnitude (fewer stars visible)
|
|
] : Increase limiting magnitude (more stars visible)
|
|
{ : Decrease ambient illumination
|
|
} : Increase ambient illumination
|
|
, : Narrow field of view
|
|
. : Widen field of view
|
|
W : Toggle wireframe mode
|
|
Ctrl+P : Toggle per-pixel lighting (if supported)
|
|
Ctrl+V : Toggle vertex programs (if supported)
|
|
r R: lower or raise texture resolution
|
|
|
|
Spaceflight:
|
|
F1 : Stop
|
|
F2 : Set velocity to 1 km/s
|
|
F3 : Set velocity to 1,000 km/s
|
|
F4 : Set velocity to speed of light
|
|
F5 : Set velocity to 1,000,000 km/s
|
|
F6 : Set velocity to 1 AU/s
|
|
F7 : Set velocity to 1 ly/s
|
|
A : Increase velocity (exponentially)
|
|
Z : Decrease velocity (exponentially)
|
|
Q : Reverse direction
|
|
X : Set movement direction toward center of screen
|
|
|
|
Number pad:
|
|
4 : Yaw left
|
|
6 : Yaw right
|
|
8 : Pitch down
|
|
2 : Pitch up
|
|
7 : Roll left
|
|
9 : Roll right
|
|
5 : Stop rotation
|
|
|
|
Joystick:
|
|
X axis : yaw
|
|
Y axis : pitch
|
|
L trigger : roll left
|
|
R trigger : roll right
|
|
Button 1 : slower
|
|
Button 2 : faster
|
|
|
|
Other:
|
|
D : Run demo
|
|
F8 : Enable joystick
|
|
F10 : Capture image to file
|
|
` : Show frames rendered per second
|
|
ENTER : Select a star or planet by typing its name
|
|
|
|
|
|
Star and Planet Browsers:
|
|
[For the moment This only applies to the Windows version of Celestia.]
|
|
In the navigation menu are 'Solar System Browser' and 'Star Browser'
|
|
options. The Solar System Browser pops up a window with a tree view
|
|
of all the objects in the nearest solar system (if there is one at all
|
|
within a light year of your current position.) Clicking on the name
|
|
of any planet in the window will select it; you can then use the center
|
|
or goto buttons to see it in the main Celestia window. The star
|
|
browser is a window showing a table of the hundred nearest stars,
|
|
along with their distances and apparent and absolute magnitudes.
|
|
Clicking on the column headers will sort the stars. The table is
|
|
not continuously updated--if you travel to another star, you should
|
|
press the Refresh button to update the table for your current position.
|
|
The radio buttons beneath the table let you switch between viewing
|
|
a list of nearest or brightest stars. As with the solar system browser,
|
|
clicking on any star name in the table will select it--use this feature
|
|
along with the center button to tour the stars visible from any night
|
|
sky in the galaxy.
|
|
|
|
Selecting Objects by Name:
|
|
It's possible to choose a star or planet by name. There are two ways to
|
|
enter a star name: choose 'Select Object' from the Navigation menu to
|
|
bring up a dialog box, or by hitting Enter, typing in the name, and
|
|
pressing Enter again. You can use common names, or Bayer designations
|
|
and HD catalog numbers for stars. Bayer and Flamsteed designations need
|
|
to be entered like this:
|
|
Upsilon And
|
|
51 Peg
|
|
The constellation must be given as a three letter abbreviation and the
|
|
full Greek letter name spelled out. Irritating, but it'll be fixed.
|
|
HD catalog numbers must be entered with a space between HD and the number.
|
|
|
|
Celestia handles star catalog numbers in a slightly kludgy way. To keep the
|
|
star database size to minimum, only one catalog number is stored. Normally,
|
|
this will a number from the HD catalog, but if a star isn't in the HD catalog
|
|
the number from another catalog will be used instead. Currently, the secondary
|
|
catalog is always the HIPPARCOS data set, for which the prefix "HIP" should be
|
|
used.
|
|
|
|
|
|
Known Issues:
|
|
|
|
Many people have reported problems running Celestia with Matrox G400/G450
|
|
3D accelerator cards. As I don't have a Matrox card, I haven't made much
|
|
progress on this bug. If you do have a G400, have Visual C++ installed, and
|
|
would be interested in testing a debug version of Celestia, please contact me.
|
|
|
|
The maximum texture size supported by the Voodoo 1/2/3 is 256x256, so many
|
|
of the planet textures will look blurry when running Celestia on one of these
|
|
cards.
|
|
|
|
On 3D accelerator cards with a limited amount of memory, resizing the main
|
|
Celestia window can cause textures to disappear. This occurs because so
|
|
much memory is required the frame buffer that there's not enough left for
|
|
textures. There are a several workarounds:
|
|
- Use a smaller window
|
|
- Make sure your display is set to 16-bit (high color) mode
|
|
- Try running Celestia in full screen mode
|
|
|
|
Celestia only barely works in 256 color mode; if your display is set to
|
|
256 colors, change to 16-bit or 32-bit if at all possible.
|
|
|
|
If look good at a distance but get to dark when you approach them closely,
|
|
your OpenGL driver does not support a required extension. Try upgrading to
|
|
the most current version of drivers available for your card. For some older
|
|
cards, this still won't fix the problem. The next version of Celestia will
|
|
feature a workaround.
|
|
|
|
|
|
Basic Hacking Tips:
|
|
|
|
It's possible to modify the solarsys.ssc, stars.dat, and hdnames.dat
|
|
files to create an entirely fictional universe.
|
|
|
|
The easiest file to modify is the solar system catalog, as it's a text
|
|
file and the format is very text-editor friendly since that's how I
|
|
had to enter all the data. It's also quite verbose, but that's not a
|
|
problem yet.
|
|
|
|
The units used for the solar system data may not be obvious. All
|
|
angle fields in the catalog are in degrees. For planets, the period
|
|
is specified in earth years, and the semi-major axis in AU; for
|
|
satellites, days and kilometers are used instead.
|
|
|
|
All solar system textures should be placed in the textures
|
|
subdirectory. Currently, JPEG and BMP are the only formats supported.
|
|
Models belong in the models directory. Celestia can read 3DS models,
|
|
as well as a custom format (.cms files, used right now just for rough
|
|
fractal displacement map likenesses of asteroids and small moons.) 3DS
|
|
meshes are normalized to fit within a unit cube--the Radius field
|
|
determines how big they appear within Celestia.
|
|
|
|
The stars.dat file is a binary database of stars, processed from
|
|
the 50+ meg HIPPARCOS data set. The first four bytes are an int
|
|
containing the number of stars in the database. Following that
|
|
are a bunch of records of this form:
|
|
|
|
4 byte int : catalog number
|
|
4 byte float : right ascension
|
|
4 byte float : declination
|
|
4 byte float : parallax
|
|
2 byte int : apparent magnitude
|
|
2 byte int : stellar class
|
|
1 byte : parallax error
|
|
|
|
RA, declination, and parallax are converted to x, y, z coordinates
|
|
and apparent magnitude is converted to absolute magnitude when the
|
|
database is read.
|
|
|
|
|
|
Authors:
|
|
|
|
Chris Laurel
|
|
Clint Weisbrod
|
|
Deon Ramsey (UNIX installer)
|
|
Colin Walters (endianness fixes)
|
|
James Holmes
|
|
|
|
|
|
Contributors:
|
|
|
|
Models of Mars Global Surveyor and Mars Odyssey were created by
|
|
Shrox: http://www.shrox.com/
|
|
|
|
Most of the planet maps are from David Seal's
|
|
site: http://maps.jpl.nasa.gov/. A few of these maps were modified by me,
|
|
with fictional terrain added to fill in gaps. The model of the Galileo
|
|
spacecraft is also from David Seal's site (though it was converter from
|
|
Inventor to 3DS format.)
|
|
|
|
The Mars, Moon, and Pluto textures and bump maps are all from
|
|
James Hastings-Trew's collection. Some of the prettiest planet maps
|
|
around are at http://apollo.spaceports.com/~jhasting/
|
|
|
|
The Venus, Saturn, and Saturn's rings textures are from Bjorn Jonsson.
|
|
His site is http://www.mmedia.is/~bjj/ and is an excellent resource
|
|
for solar system rendering.
|
|
|
|
The Earth texture was created by NASA using data from the MODIS instrument
|
|
aboard the Terra satellite. Further information is available from
|
|
http://earthobservatory.nasa.gov/Newsroom/BlueMarble/
|
|
|
|
The textures for the Uranian satellites were created by Ivan Rivera from
|
|
JPL data. His Celestia page is http://bruckner.homelinux.net/celestia.html
|
|
|
|
The lower resolution textures were all converted from their higher resolution
|
|
Versions using Gimp.
|
|
|
|
3D asteroid models of Toutatis, Kleopatra, and Geographos are courtesy of
|
|
Scott Hudson, Washington State University. His site is:
|
|
http://www.eecs.wsu.edu/~hudson/Research/Asteroids/4179/index.html
|
|
|
|
3D models of Phobos, Deimos, Amalthea, Proteus, Vesta, Ida,
|
|
Mathilde, and Gaspra are derived from Phil Stooke's Cartography of
|
|
Non-Spherical Worlds: http://publish.uwo.ca/~pjstooke/plancart.htm
|
|
|
|
The txf font format used by Celestia was devised by Mark Kilgard.
|
|
|
|
The star database (stars.dat) was derived from the ESA's HIPPARCOS data set.
|
|
|
|
This software is based in part on the work of the Independent JPEG
|
|
Group.
|
|
|
|
Thank you to all the Celestia users who've submitted bug reports,
|
|
suggestions, and fixes over the past year. Celestia wouldn't be the
|
|
program it is without your help.
|
|
|
|
|
|
Chris Laurel
|
|
claurel@shatters.net
|
|
http://www.shatters.net/~claurel
|
|
and
|
|
http://www.shatters.net/celestia/
|