SolarSystem-3D
SolarSystem-3D copied to clipboard
3D scene with a model of the Solar System
Table of contents
- Overview
- Features
- Dependencies
- Building (for Windows)
- Limitations
- Project screenshots and video snippets
- Earth
- The shadow of the clouds on Earth
- View from the Moon to Earth
- Phobos in the background of Mars
- Jupiter
- A video snippet of a flyover of Saturn
- Saturn
- Saturn with Titan from behind
- Saturn with Mimas and Titan
- Shadow of Titan
- Uranus
- Uranus from behind
- Triton in the background of Neptune
- Pluto
- Sun
- Sun with modified parameters 1
- Sun with modified parameters 2
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
The shadow of the clouds on Earth
View from the Moon to Earth
Phobos in the background of Mars
Jupiter
A video snippet of a flyover of Saturn
Saturn
Saturn with Titan from behind
Saturn with Mimas and Titan
Shadow of Titan
Uranus
Uranus from behind
Triton in the background of Neptune
Pluto
Sun
Sun with modified parameters 1
Sun with modified parameters 2