Skip to content

Latest commit

 

History

History
67 lines (47 loc) · 1.74 KB

README.md

File metadata and controls

67 lines (47 loc) · 1.74 KB

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