/SolarSystem-3D

3D scene with a model of the Solar System

Primary LanguageC++MIT LicenseMIT

Project logo

Table of contents

Overview

The project is an animated 3D scene with a model of the Solar System.

Features

  • 🎮 First-person camera control with acceleration and zoom capabilities
  • 🖼️ High resolution textures (8K+) with dds extension
  • 🖼️ Photoshop-processed skybox with high resolution textures (6K)
  • 💡 High-quality shaders
  • 💡 Blinn–Fong reflection model with normal maps to visualise surface irregularities
  • 💡 Accurate atmospheric scattering of planets and satellites
  • 💡 Mie scattering and accurate shadows for planetary rings
  • 💡 High-quality soft shadows using PCF and ray tracing
  • 💡 Omnidirectional shadow maps simulation when using a single unidirectional shadow map
  • 💡 Shadows from the clouds
  • 💡 Lens flare
  • 🎵 Background music
  • ⚙️ A simple graphical user interface with all the information the user needs and for managing a small set of parameters (music volume, time control, planet and satellite hints control, sun parameters, etc.)
  • ⚙️ Using 3D models with obj extension for planets, satellites, planetary rings, etc.

Dependencies

Building (for Windows)

Run an auxiliary script from the command line to automatically run the necessary cmake commands using the .\build.sh command, while in the directory with the root CMakeLists.txt file (the root project folder). Then an exe file with all necessary dlls will appear in the build folder.

Limitations

Due to virtual memory limitations (mainly if the executable file is compiled with a 32-bit compiler and uses 32-bit libraries, as in my case), a bad_alloc exception may be thrown when launching the entire Solar System at once (with all planets, satellites, etc.).

Project screenshots and video snippets

If you want to see all the beauties of the Solar System in person, download the archive and run the executables I've specially prepared for you.

More screenshots and video snippets can be seen here.

Earth

Earth

The shadow of the clouds on Earth

The shadow of the clouds on Earth

View from the Moon to Earth

View from the Moon to Earth

Phobos in the background of Mars

Phobos in the background of Mars

Jupiter

Jupiter

A video snippet of a flyover of Saturn

A video snippet of a flyover of Saturn

Saturn

Saturn screenshot

Saturn with Titan from behind

Saturn with Titan from behind

Saturn with Mimas and Titan

Saturn with Mimas and Titan

Shadow of Titan

Shadow of Titan

Uranus

Uranus

Uranus from behind

Uranus from behind

Triton in the background of Neptune

Triton in the background of Neptune

Pluto

Pluto

Sun

Sun

Sun with modified parameters 1

Sun with modified parameters 1

Sun with modified parameters 2

Sun with modified parameters 2