Celestia To Do List ------------------- USER INTERFACE * More star label models--nearest stars, brightest stars * Make picking more intelligent * Picking a distant planet is likely to select one of its satellites * Picking stars doesn't work at close range * Make picking more accurate for non-spherical bodies * Tracking mode for camera * Add more intuitive free flight controls * Views of planet and satellite orbits * Add satellite orbits * User control over which orbits should be displayed * Orbits should be occluded by planets * Next/prev body commands * Add preferences for font and text color for labels to config file * Make context menus work properly in full-screen mode * Fix camera rotation wackiness when using goto--probably slerp between orientations * Dialog box for displaying detailed information about a star or planet * Create a help file * Improve web info feature VISUALS * Shadows from rings on planet * Make bump maps work for irregular objects * Get a real texture map for Eros * Change the color of the light illuminating planets based on star class; probably only M and maybe K class stars should have a noticeable hue * Better and flashier star rendering: improve corona effects, add limb darkening, change convection cell size based on spectral class, etc. * Non-Lambertian illumination functions for planets * Add haloes around bright planets similar to the ones around stars * Comets with dust and ion tails * Add some deep sky objects--planetary nebula, supernova remnants, etc. * Procedural textures for extrasolar planets * Atmospheric veils around planets * Specularity map for Earth (and other hypothetical ocean bearing worlds) * Bump mapped cloud layers * Render galaxies with colors--bluish spiral arms, yellowish center * Render dark dust bands in galaxies * Add textures to ISS and Mir models POLISH * Get a real installer working for Windows version * Tutorial mode * Add a flashy intro screen * Add screen shot feature * Preload some textures to avoid loading delay SIMULATION ACCURACY * Fix apparent magnitude calculation for planets * Figure out a way to estimate gas giant's radius given its mass * Calculate the eccentric anomaly for orbits instead of just using the mean anomaly * Obtain and read spacecraft ephemerii, so Galileo, Cassini, etc. appear in the proper places * Use a better estimate for star radius * Make some attempt at calculating stellar rotation rates * Model the irregular rotations of objects like Toutatis and Hyperion * Double star systems * Make the planets appear in their proper positions relative to the stars BUGS * Find out why picking sometimes stops working, apparently after orbiting * Fix wobbling of planet shadow on rings when time is accelerated * Find out about texture problems on Matrox G450 * Investigate possible visual anomalies with ring shadows on ATI Rage cards OPTIMIZATION * Add view frustum culling for stars * Convert the VisibleStarSet class to use an octree based algorithm * Add option to force 16-bit textures CODE * Make parser more robust (and fix that EOF problem) * Change random printfs to DPRINTFs and Logs * Finish assert-ing the code PORTING * Make 3DS loading code byte-order and FP format independent * Make stars.dat loading code byte-order and FP format independent * Write a version which uses GLUT instead of Win32 API calls * Linux port * MacOS port MISC * Make solar system creation applet, for adding hypothetical systems to a Celestia universe