Skip to content

neuroDEVergent/solar-system-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solar System Simulation

Starting this project to practice my OpenGL and C/C++ skills.

GifExample

Dependencies

  • GLAD
  • SDL2
  • Assimp
  • GLM
  • stb_image

Build

Project is written on a GNU/Linux system. You can probably get it running on Windows with relative ease as well, but I'm not willing to be bothered with that.

You can compile it with this simple command:

g++ -std=c++17 ./src/* \
-o prog \
-I./include/ \
-I./thirdparty/ \
-I./thirdparty/glm-master/ \
-lSDL2 \
-ldl \
-lassimp

And then simply run it by using:

./prog

Resources I used

Cheklist

Below is the checklist of things I want to implement:

Basics Graphics

  • Third-party libraries setup
  • Shader abstraction
  • Transformations
  • Camera movement
  • Model loading

Intermediate Graphics

  • Blinn-Phong lighting
  • Sun's fragment shader
  • Cubemap
  • Anti-aliasing
  • Normal and depth maps
  • Framebuffer for post-processing

Advanced Graphics

  • Bloom
  • Shadows
  • HDR
  • Gamma handling
  • SSAO throwing ssao out the window as well because it will do almost nothing visually. we only have round shapes far away from each other so it kind of doesn't make any sense and it's mostly wasted effort

Physics

throwing these out the window, planets differ in size way too much and are way to far away for the project to actually look good

  • [ ] Correct planet scaling (possibly smaller Sun to fit the screen)
  • [ ] Correct distance between bodies

I actually implemeted them by using correct sizes, normalizing to Earth data, and mapping to a square root function prevent large values from being too big

  • Planets orbiting around the Sun
  • Correct time conversion with ability to speed time up

Chef's Kiss

  • "Photo mode" style UI elements to control post-processing shaders
  • Audio player

Releases

No releases published

Packages

 
 
 

Contributors