Git Product home page Git Product logo

solarsystem-3d's Introduction

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

solarsystem-3d's People

Contributors

gtruf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

375gnu

solarsystem-3d's Issues

Errors when building for Win10/64 and VC2022

Hello and thank you for your nice project. However, I'm not able to successfully build it. I get 1 success and 1 failed with the following errors...

Error C2079 'Star::_starOcclusion' uses undefined class 'std::array<GLuint,2>' SolarSystem C:\SolarSystem\src\Solar_System\Star.h 60

Error C3646 '_nearestPlanetIndex': unknown override specifier SolarSystem C:\SolarSystem\src\Application.h 39

Error C2589 '(': illegal token on right side of '::' SolarSystem C:\SolarSystem\src\Application.cpp 255

Severity Code Description Project File Line Suppression State
Error C2065 'ssize_t': undeclared identifier SolarSystem C:\SolarSystem\src\Application.cpp 1093

and so on!!!

I've downloaded, ran cmake, loaded the solution, set to release, set all the includes for GL/SDL etc. build. Am I doing it wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.