What is it?
UniverX is an interactive software which simulates the Solar System. It shows visually all planets moving and rotating, and allows the user of the application to set the camera in any position in real time. Several other parameters are adjustable, like time scale, planet scale...
These are the most relevant features about the program:- Planet position and orbit simulation: It calculates the position of each planet according to its orbit's parameters and specified time, describing the elliptical shape. The simulation is as accurate as possible but just for visualization purposes, no important scientific measurements should be get from this algorithm. Real data parameters for the simulation is obtained from wikipedia and another astronomy resources.
- Planet visualization: The program uses OpenGL to render in realtime the Planet model in the user's screen. The user can see how the planets rotate and move around the Sun. The planets and sun scale has been increased a lot (about 100 thousand times), because aspect ratio between planet size and interplanet distances is really big that otherwise you won't be able to see anything. You can decrease this scale manually inside the program, but planets may become just a pixel in the screen.
- Textured Planets: Real textures are used to show more realistic surfaces, this way you can identify or learn how each planet looks like. A light has been planted in the Sun to simulate the difference between night and day on the planets. Furthermore the Earth has an extra layer representing the athmosphere and moving independently of Earth's crust. Saturn has rings of course, and the color and transparency texture is taken from real astronomy sources.
- Star background: The background for the model are a lot of stars. These stars are set in 3D Space using data from a real Star Database, using their position and parameters.
- Interactive interface: The camera can be freely moved by the user to show a specific part in real time. The camera is always centered to show an specific planet chosen by user, then you can vary zoom and angle. When user changes the centered planet, the camera performs a smooth animation for the change.
Requirements
The program works on any system with OpenGL. We provide precompiled binaries for Windows, Linux and Mac OSX. It should be easy to compile it for another systems with Glut support.
Any card with 64Mb or higher, and proccessors about 500Mhz should be enough to run it smooth.
Under linux you need DRI support enabled and working for better performance.
Download!
You can download any release from our SourceForge's project page.
Note that there are no binary releases for linux. This is because it is very difficult to make a single version for all distributions. If you can make a package for your favourite distribution, please send it to me and I will publish it here.
- Latest Windows version: UniverX-0.1.zip
- Latest MacOSX version: UniverX-0.1.dmg
- Latest Linux version: UniverX-0.1-src.tgz
Source Code: UniverX-0.1-src.tgzs
This program is released under the GPL license, feel free to use it, modify it, share it with your friends... In fact, you should do it!
Usage
The usage is very simple. Just launch it and you will get a default view of the planets. Then you can rotate the view by click and drag with left mouse button, and zoom with middle button (or holding shift and left clicking for mac users). With a right mouse button click you can open a context menu which shows you all options and their shortcuts.
Using numeric keys from 0 to 9 you can select which planet to center the camera on, being 0 the Sun and 9 Pluto.
- j) Upper view.
- k) Perspective view.
- l) Side view.
- F1-F5) Predefined views.
- f) Fullscreen.
- o) Planet move.
- r) Planet rotation.
- a) Show Earth's athmosphere.
- z) Grid (1 square = 1 Astronomical Unit).
- x) Show planet rotation axes.
- g) Show FPS.
- b) Show Galaxy Star background.
- v) Show Planet labels.
- h) Take screenshot.
- t-T) Adjust Time scale.
- p-P) Adjust Planet scale.
- s-S) Adjust Sun scale.
- e) Activate pixel shaders.
- spc) Pause.
Alternatives
You should give a try to Celestia. It is a really complete program to explore the Solar System including really detailed views. UniverX intends to be much simpler and show just a global view, focusing mainly in the movement of the planets.Developers
Developers:- Mario Arias (McK): Main developer of the program and project administrator.
- Álvaro Zubizarreta: Main developer and physics system creator.
TODO List
- Include moons, at least Earth's moon
- Improve Shaders to get more realistic surfaces. I say improve because they are already implemented, but there are a few problems with planet rotation, so they are disabled by default.
- Internationalization.
- Correct bugs.
Links
- 2D Solar System Simulator, java applet.
- OpenGL Programming Guide (Red Book)
- OpenGL
- Planet surface textures
- Star Database
- A simple libpng example program.
- OpenGL: Placage de texture (JPG)
- JPG: Read / write example.
- Applying textures to spheres.
- OpenGL Sphere With Texture Coordinates. Paul Bourke.
- Nvidia Cg shading language. Compiler, User Manual, Reference Manual.
- Bump Mapping Using CG. Soren Dreijer.
- Celestia
- Wikipedia
- Mario Arias Web Page