Skip to content

Nizar1999/SolarSystemSimulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Languages Languages

Motivation

Mess around with OpenGL and Dear ImGui and make a cool rendering project

Showcase

screen-gif

Features

Configuration Menu

Ability to configure various properties of rendering, camera, and orbit

screen-gif

Light Effects

Ambient + Diffuse

screen-gif

Skybox

Milky way skybox so it feels spacy (actual word btw)

screen-gif

Uses Kepler's Equation to Calculate Orbital Position

Planets have different orbital parameters that are used to calculate their orbital position at a certain point in time

Easy Configuration:

Properties of different celestial bodies can be configured easily using the config.json file

"Earth": {
  "orbitParameters": {
  "semiMajorAxis": 1.000,
  "eccentricity": 0.0167,
  "inclination": 0.000,
  "longitudeOfAscendingNode": -11.260,
  "argumentOfPeriapsis": 114.207
  },
  "scale": 1.000,
  "texture": "./resources/textures/earth.jpg",
  "position": {
  "x": -1.000,
  "y": 0.0,
  "z": 0.0
  }
},

External Resources Used

nlohmann json - Parsing JSON

Dear IMGUI - GUI Library

STB Image - Loading Images

Planet Pixel Emporium - Planet Textures

Future Work

Refactor some elements of the code marked with //TODO

About

Solar System Simulation Made with OpenGL & ImGui

Topics

Resources

License

Stars

Watchers

Forks

Languages