This is a personal project to learn OpenGL.
Given eccentricity, the trajectory for each planet is calculated from the Kepler's Equation so that Newton's method is used to get their numerical positions. The distances and scale for all celestial objects are disorted in order to illustrate all planets in a camera scene, while their revolution and rotation periods are proportional to the Earth's rotation period.
In order to visualize its 3D simulation more stereoscopically, a cube box and shadow effect is applied.
To illustrate the eclipse effect, the omnidirectional shadow map is used in this project. The example images are below:
image3: eclipse effect1 (The Moon is hidden bebind the Earth.)
image4: eclipse effect2 (The Moon's shadow is expressed on the Earth's surface.)