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 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
|
OpenGL ssystem 1.6 26-Feb-1999
------------------------------
Que es ssystem:
---------------
Ssystem es un simulador del Sistema Solar que utiliza OpenGL. Visita
el Sol, los nueve planetas y algunos satelites (estrellas de fondo basadas
en catalogo estan tambien incluidas) con 4 modos de camara.
Precision:
----------
Aunque ssystem no es 100% preciso he intentado mantenerlos lo mas
cerca posible de la realidad. Sin embargo, el objetivo de ssystem ha sido
siempre mas un buen aspecto visual que la precision, asi que puede que
encuentres errores en los algoritmos de posicionamiento.
Solo los planetas y la Luna estan dentro de una rango de las
posiciones reales, todos los demas satelites (aunque siguen unas orbitas
mas o menos correctas) no estan en las posiciones reales.
Requisitos del sistema:
-----------------------
-Linux o Windows 95/NT
-Librerias OpenGL (probado con Mesa 2.6 y Microsoft DLLs)
-Libreria GLUT (probado con 3.6)
-Libreria JPEG (probado con 6.0.1)
-Tarjeta 3D (NO IMPRESCINDIBLE pero RECOMENDADA)
Voodoo Graphics (linux y win95/98)
Voodoo Rush (linux y win95/98)
Riva 128 (win95/98)
Riva TNT (win95/98)
Permedia (win95/98)
Si tu chip 3d no esta incluido arriba y ssystem funciona acelerado
por hardware mandame un e-mail.
Ver Makefile para opciones de compilacion.
Opciones en linea de comando:
-----------------------------
-bench
Aborta la ejecucion del programa tras 1000 frames, mostrando
el rendimiento
-fullscreen [mode_string]
Ejecuta ssystem en pantalla completa. En maquinas Linux/UNIX
no podras cambiar el modo de video asi que no es necesario
suministrar el mode_string (de hecho ssystem protestara si
lo haces)
En la version de Windows 95/98 puedes elegir el modo de video.
Simplemente incluye una cadena de modo detras de fullscreen.
La sintaxis del modo es:
ANCHOxALTO:PROFUNDIDAD_COLOR@REFRESCO
El refresco es opcional. Asi, si quieres ejecutar ssystem a
640x480 32 bits de color la linea de comandos es algo como:
ssystem -fullscreen 640x480:32
If quieres un refresco de 100 Hz seria:
ssystem -fullscreen 640x480:32@100
NOTA: NO TODOS LOS MODOS DE VIDEO ESTAN SOPORTADOS. DE HECHO
SOLO UNOS POCO FUNCIONAN EN MI ORDENADOR. SI EL MODO DE VIDEO
QUE HAS SELECCIONADO NO ESTA SOPORTADO SSYSTEM UTILIZA EL
MODO DE VIDEO ACTUAL.
Rendimiento:
------------
La aceleracion hardware no es indispensable, pero si muy recomendable
para un moviemiendo suave. Yo consigo 83fps (bajo Linux) con la opcion
"-bench" en mi Celeron 450 a 640x480:16 (con una Voodoo Graphics) y 56 fps
a 1024x768:32 (en win98 con una Riva TNT). Ssystem es un espectaculo en
este modo de video.
El nivel de detalle de las esferas planetarias (SLICES y STACKS) es el
factor clave en el rendimiento, la gente con CPUs lentas deberia usar valores
mas bajos (ver fichero ssystem.conf).
Asignacion de teclas:
---------------------
Home/End: Selecciona el anterior/siguiente cuerpo
SHIFHT + Home/End: Selecciona el anterior/siguiente cuerpo de origen
en el modo de camara B2B
Insert: Orbita del planeta activo on/off
h : Ayuda en linea
a : Atmosfera on/off
t : Textura on/off
l : Iluminacion on/off
f : Flat/Smooth modelo de sombreado
r : Tiempo real on/off
s : Estrellas on/off
S : Graba la pantalla a un fichero (en formato JPEG)
m/M : Incrementa/decrementa el brillo de las estrellas
d : Modo demo on/off
n : Posiciona la camara cerca del planeta activo
c : Cambia entre modo de camara libre o siguendo al planeta
o/O : Mayor/Menos FOV
p : Pausa
r : Modo tiempo real on/off
b : Etiquetas para cuerpos lejanos on/off
B : Etiquetas para estrellas on/off
i : Informacion (HUD) on/off
j : Joystick on/off
Pagina Arriba/Abajo: Incrementa/decrementa la velocidad
z/Z : Incrementa/decrementa el zoom
(solo disponible en los modos de B2B y Orbiter)
Manten apretado el SHIFT para un funcionamiento mas rapido en las
siguientes asignaciones:
+/-: Incrementa/Decrementa el factor de tiempo
Cursores: Rotacion de camara
Modos de camara:
----------------
Hay 4 modos de camara:
-Linked: Modo por defecto. La camara sigue al cuerpo selecionado. La
tecla 'n' es muy util en este modo.
-Body to Body: Este modo te deja ver el cuerpo X como si estuvieses
en el cuerpo Y.
-Orbiter: La camara se mueve alrededor del cuerpo selecionado en una
orbita circular (completa una orbita en media dia local). Prueba la
tecla de zoom 'z' en este modo.
-Fee Camera: Puedes controlar la camara libremente con los cursosres/
raton/joystick.
Movimiento de camara:
---------------------
-Teclado
En el mode de camara libre los cursores rotan la camara, Pagina
Arriba/Abajo incrementan/decrementan la velocidad de la camara.
El modo seguimiento es un poco diferente, aqui los cursores no tienen
uso. Puedes mover la camara hacia el planeta incrementando la velocidad.
Una vez estas cerca del planeta el propio programa pone la velocidad a
cero.
-Raton
En el modo de camara libre puedes controlar la camara con el raton
si mantienes pulsado el boton izquierdo mientras mueves el raton.
-Joystick
Como con el raton tienes que selecionar el modo de camara libre,
entonces activa el joystick (j). Los ejes X e Y controlan la camara y
los botones A y B la aceleration. Presionando los botones C o D se
pone la velocidad a 0 (si tu joystick solo tiene dos botones puedes
conseguir esto pulsando los dos botones simultaneamente).
Bugs conocidos:
---------------
El movimiento de los cuerpos mas exteriores es un poco trompicado.
Aunque ssystem usa aritmetica de doble precision, Mesa la utiliza de simple
internamente (mas rapida y suficientemente precisa para la mayoria de las
aplicaciones). Ajustando un poco las escalas he podido reducir este efecto
(ahora solo Caronte se ve afectado). Las buenas noticias: Se como solucionar
este efecto; las malas: sera necesario reescribir grandes porciones del
codigo fuente asi que suponho que tendra que esperar a la proxima version :-(
Si estas viendo lineas negras a lo largo de los planetas esto no es un
bug. Ssytem utiliza por defecto texturas sin borde (que funcionan bien en
casi todo el hardware 3D) pero los driver OpenGL por software y quiza alguno
acelerado por hardware requieren texturas con borde. Edita el fichero
ssystem.conf y pon border = 1 (elimina el caracter # en la linea 18). Ciertas
tarjetas 3D no funcionan si border esta a 1 (3Dfx).
Los modos de pantalla completa solo funcionan bajo drivers que soporten
el mode de video actual (*nix) o el modo que le hayas pasado en la linea de
comandos (win32). Si fuerzas el modo de pantalla completa y tu hardware no
soporta el modo de video ssystem no funcionara (correctamente).
RECOMOCIMIENTOS:
----------------
-Brian Paul (Mesa)
http://www.ssec.wisc.edu/~brianp/MesQ.html
-Daryll Strauss (Linux Glide)
-David Bucciarelli (driver 3Dfx para Mesa)
http://www-hmw.caribel.pisa.it/fxmesa/index.shtml
-Curtis L. Olson (catalogo de estrellas)
-Este software esta en parte basado en el trabajo de The Independent JPEG Group
-Los satelites Galileanos y de Saturn calculados con code extraido con permiso
de XEphem, (c) 1997 Elwood Charles Downey
http://iraf.noao.edu/~ecdowney/xephem.html
-Algoritmo de posicionamiento de los planetas de Keith Burnett utilizado con
permiso
http://www.xylem.demon.co.uk/kepler/
-Nacho (beta testing)
-Kevin Kamel (mirror en USA)
-Rafael Barbera (truco aumento rendimiento en v1.4)
-Aaron Worley (fichero de configuracion y bastantes ideas)
http://hirame.hiram.edu/~worleyam/hitch/index.html
-Elias Martenson (SUN Makefile)
-Andrey Zakhvatov (FreeBSD port)
-Mike Oliphant y Rob Clark (grabar pantallas)
http://www.ling.ed.ac.uk/~oliphant/pyro
-John Kilburg and Bill Spitzak (SGI Makefiles)
-Bjorn Jonsson (texturas de Io, Europa y Saturno)
-Larry Manley (funciones MoonPos y PlutoPos y todo el tema de VSOP87,
ver astrolib.c)
-Tigran A. Aivazian (sugerencias y avisos de errores)
-Axel Groll (extensive beta testing)
-Y por supuesto, gracias a ti
NOTA:
-----
Este es mi primer programa OpenGL y esta todavia en fase de desarrollo,
asi que agradeceria vuestros comentarios.
La critica constructiva siempre es bienvenida. :-)
Visita la pagina de ssystem para nuevas versiones:
http://www1.las.es/~amil/ssystem
Raul Alonso
<amil@las.es>
|