Added the Galilean moons, and fixed extreme sphere subdivision.

Signed-off-by: Xiaomao Chen <xiaomao5@live.com>
This commit is contained in:
Quantum 2013-10-27 18:29:11 -04:00
parent 46b46df60f
commit 54a134c73e
8 changed files with 50 additions and 4 deletions

2
.gitignore vendored
View file

@ -42,4 +42,6 @@ nosetests.xml
*.lib
punyverse/assets/textures/*_medium.*
punyverse/assets/textures/*_small.*
punyverse/assets/textures/*/*_medium.*
punyverse/assets/textures/*/*_small.*
temp

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

View file

@ -10,6 +10,9 @@ call :convert jupiter.jpg jupiter_medium.jpg 2048x1024
call :convert jupiter.jpg jupiter_small.jpg 1024x512
call :convert saturn.jpg saturn_medium.jpg 2048x1024
call :convert saturn.jpg saturn_small.jpg 1024x512
call :convert moons\io.jpg moons\io_small.jpg 1024x512
call :convert moons\europa.jpg moons\europa_small.jpg 1024x512
call :convert moons\ganymede.jpg moons\ganymede_small.jpg 1024x512
goto :eof
:convert

View file

@ -68,7 +68,46 @@
"mass": 1.8986e+27,
"z": "5.2 * AU",
"pitch": -90,
"yaw": 3.13
"yaw": 3.13,
"comment": "satellites here are 3/10 the virtual distance than physical, and five times the size",
"satellites": {
"io": {
"texture": ["moons/io.jpg", "moons/io_small.jpg", [0.62, 0.56, 0.35, 1]],
"radius": "1821.3 * 5",
"distance": 126510,
"sma": 421700,
"pitch": -90,
"inclination": 2.21,
"eccentricity": 0.0041
},
"europa": {
"texture": ["moons/europa.jpg", "moons/europa_small.jpg", [0.77, 0.74, 0.65, 1]],
"radius": "1560.8 * 5",
"distance": 201270,
"sma": 670900,
"pitch": -90,
"inclination": 2.71,
"eccentricity": 0.009
},
"ganymede": {
"texture": ["moons/ganymede.jpg", "moons/ganymede_small.jpg", [0.52, 0.47, 0.46, 1]],
"radius": "2634.1 * 5",
"distance": 321120,
"sma": 1070400,
"pitch": -90,
"inclination": 2.51,
"eccentricity": 0.0013
},
"callisto": {
"texture": ["moons/callisto.jpg", "moons/callisto_small.jpg", [0.49, 0.43, 0.34, 1]],
"radius": "2410.3 * 5",
"distance": 564810,
"sma": 1882700,
"pitch": -90,
"inclination": 0.192,
"eccentricity": 0.0074
}
}
},
"saturn": {
"texture": ["saturn.jpg", "saturn_medium.jpg", "saturn_small.jpg", [0.9, 0.8, 0.64, 1]],

View file

@ -91,10 +91,11 @@ def load_world(file):
cheap, skip, texture = get_best_texture(info['texture'], optional=info.get('optional', False))
if skip:
return
division = min(int(radius / 2), 100)
if cheap:
object_id = compile(colourball, radius, int(radius / 2), int(radius / 2), texture)
object_id = compile(colourball, radius, division, division, texture)
else:
object_id = compile(sphere, radius, int(radius / 2), int(radius / 2), texture, lighting=lighting)
object_id = compile(sphere, radius, division, division, texture, lighting=lighting)
elif 'model' in info:
scale = info.get('scale', 1)
object_id = model_list(load_model(info['model']), info.get('sx', scale), info.get('sy', scale),
@ -131,7 +132,8 @@ def load_world(file):
cloud_texture = atmosphere_data.get('cloud_texture', None)
cheap, _, cloud_texture = get_best_texture(cloud_texture)
if not cheap:
cloudmap_id = compile(sphere, radius + 2, int(radius / 2), int(radius / 2), cloud_texture,
division = min(int(radius / 2), 100)
cloudmap_id = compile(sphere, radius + 2, division, division, cloud_texture,
lighting=False)
cheap, _, atm_texture = get_best_texture(atm_texture)
if not cheap: