SOLAR SYSTEM Ivan Augustino
SOLAR SYSTEM Why Solar System. - Wanted to experiment more with OpenGL. - Love of Astronomy. - Similar project at work.
Program Description Displays all eight planets in the system with the Sun in the center. User can zoom in or out. User can select planet to center. User can increase or decrease speed of planets rotation.
User can view program choose to launch program in full or small screen. User can enable or disable light. User can enable or disable text. User can stop rotation.
Technologies used OpenGL C++ Very little WINDOWS API
STRUCTURE Class dependency MainProgram. MyGluts Planets MyGui RGBpixmap Text Light Resources Shapes
Algorithm Create spheres. Map the right texture to it. Scale it to the right size. Rotate it to the right angle. Translate to the right position. Set light.
CHALLENGES Zooming into a specific planet and getting a clear picture. Proper use of glLighting to prevent objects from looking 2-dimensional. Maintaining schedule.
SOLUTION For the zooming problem: We allowed a user to center a planet instead of struggling with the zoom. For the lighting problem we made sure we properly intialize glLight. Use glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); Instead of: glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
Questions Demonstration.
CONCLUSION From doing the project I have learned: - Many Opengl build in functions. - To manipulate opengl lighting. - Pre-compile large computation in Opengl and save for future use. - Manage my schedule, and respect due dates I have set.