File: README

package info (click to toggle)
ssystem 1.2-4
  • links: PTS
  • area: main
  • in suites: slink
  • size: 524 kB
  • ctags: 158
  • sloc: ansic: 1,533; makefile: 58
file content (206 lines) | stat: -rw-r--r-- 5,528 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
OpenGL ssystem 1.2 May-2-1998
-----------------------------


What is ssystem:
----------------

	ssystem is an OpenGL Solar System simulator. Only the Sun , the nine
  planets and a few major satellites are included. Background stars are also 
  included.

	Although ssystem is not 100% accurate I've tried to keep it as close
  to reality as possible. Starting with version 1.1 all planets' data except
  planets' radii, which are scaled up for easier visualization, should be
  correct (within the accuracy limit of the new planet positioning algorithm,
  see positions.c for details).


System requeriments:
--------------------

	-Linux or Windows 95/NT OS
	-OpenGL library (tested with Mesa 2.6 and Microsoft DLLs)
	-GLUT library (tested with 3.6)
	-Voodoo Graphics card (tested with a Monster 3D)
	-Glide library (tested with 2.4b1 in Linux and 2.43 in Windows 95)
	-JPEG library (tested with 6.0.1)


	JPEG library is not included since most linux distributions install 
  the shared version (see WINDOWS notes).

	See Makefile for compile time options.


Installation notes:
-------------------

	LINUX:
		-Get OPENGL/GLU/GLUT compliant libraries.
		 (Mesa includes all these and it's easy to compile, get it
		  here --> http://www.ssec.wisc.edu/~brianp/Mesa.html)
		
		-Edit the Mesa libs directory in Makefile.

		-Run 'make' and hopefully it's done.


	WINDOWS:
                -Ensure you got OPENGL32.DLL GLU32.DLL and GLUT32.DLL. If
                 you don't you can download them from ssystem homepage.
		 ( http://www1.las.es/~amil/ssystem )

		-I've included a Visual C++  Makefile (Makefile.win) in the
		 source distribution. It won't work if you try to link
		 against compiler OPENGL dafault libs, so once again
		 I recommend you getting Mesa. JPEG library binary and
		 header files are now included.

        3DFX:
                -DLLs with 3dfx Voodoo Graphics support are availables in
                 ssystem homepage. Unless these DLLs are in the same
                 directory as ssystem.exe or in your search path (first
                 method is preferred) the program will use default OpenGL
                 DLLs (if installed) and framerate will be VERY low.


Command line options:
---------------------

	-bench	

		Aborts program execution after 1000 frames, displaying
		framerate

	-slices N
		
		Sets sphere SLICES parameter to N

	-stacks N

		Sets sphere STACKS parameter to N


	These two last options (slices and stacks) have a great performace
  impact (see Performance section)


Performance:
------------


	Hardware acceleration is not required, but highly recommended for
  smooth framerates. I get 48fps (running on Linux) with the "-bench" command
  line option in my Pentium 233 (overclocked to 266). The Planets' Sphere 
  detail (SLICES and STACKS) is the key factor in performance, increse them
  if your CPU is powerful enough (I get over 110fps with both set to 2).

  	Default value for SLICES and STACKS is 12 but you can play with these 
  values in the command line (see Command line options section). Depending on
  your system you may start trying with the following values:


					SLICES		STACKS

	Pentium 60 and below		  8		  6

	Pentium 100-166			 10		 10

	Pentium 200-266			 12		 12

	Pentium II 233			 16		 14

	Pentium II 300			 20		 18


Keyboard bindings:
------------------

	Home/End: Selects previous/next body.
	h : Online help
	f : Flat/Smooth shading model.
	t : Texture on/off.
	l : Lighting on/off.
	s : Stars on/off.
	d : Demo mode on/off.
	n : Moves camera near current planet.
	c : Toggle between free and linked to planet camera modes.
	p : Pause

  Hold SHIFT for faster operation in the following key bindings:

	+/-: Increase/Decrease time factor.
	Arrow keys: Rotate camera.
	Page Up/Down: Increase/decrease speed.


Camera movement:
----------------

	Default camera mode is free. In this mode Arrow keys rotates camera, 
  Page Up/Down increase/decrease camera speed.

	Linked mode is a bit different, here arrow keys are useless. You can
  move the camera towards the planet by increasing speed. Once you're near
  the planet program sets camera speed to zero.

	Camera speed is limited to 10000 Km/iteration (1 iteration = 1 frame), 
  which is light speed at 30 frames/sec.


Known bugs:
-----------

	Outer bodies movement is a bit jerky. Although ssystem uses double
  precision floating point arithmetic, Mesa uses simple precision arithmetic
  internally (faster and precise enough for most aplications). I'm working
  on it.


ACKNOWLEDGEMENTS:
-----------------


-Brian Paul (Mesa)
	http://www.ssec.wisc.edu/~brianp/MesQ.html 

-Daryll Strauss (Linux Glide)


-David Bucciarelli (Mesa 3dfx driver)
	http://www-hmw.caribel.pisa.it/fxmesa/index.shtml

-Curtis L. Olson (star catalog stuff)


-This software is based in part on the work of The Independent JPEG Group


-Galilean and Saturn satellites computed using code extracted with
 permission from XEphem, (c) 1997 Elwood Charles Downey
	http://iraf.noao.edu/~ecdowney/xephem.html

-Keith Burnett's planet positioning algorithm used with persmission.
	http://www.xylem.demon.co.uk/kepler/

-Nacho (beta testing)


-And of course, thanks to all of you who help me with suggestions and tips.


NOTE:
-----

	This is my first OpenGL program and it's still in developmental stage,
  so I'd really appreciate your feedback. 

	Constructive criticism is always welcome. :-)


	Check ssytem homepage for updates (http://www1.las.es/~amil/ssystem).

Raul Alonso
<amil@las.es>