Celestia: A real-time visual space simulation Copyright (C) 2001-2002, Chris Laurel -- 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/