Solar System Simulation in OpenGL


OpenGL/C/C++ Implementation of Common Rendering Concepts and Tecniques

Demo Reel


About the project

After spending a lot of time this year working through learnopengl.com, I've decided to set up a challenge for myself and try to make a larger project, implementing most of the techniques I've learned about.
Reading the book was somewhat straightforward and clear. Had to stop to wrap my mind around certain things, but I wouldn't consider it super hard necessarily. Only once I tried to implement all of those concepts at once, that is where things started to get all tangled up.
I kind of knew that all example demo projects from the book are just that, isolated little sandboxes made with a singular purpose of representing a concept covered in the chapter. But I didn't realize what that truly means until I tried to combine them.

Programming Implementations

Simply, I made a list of things I wanted to implement in my project. The list looked something like this:

    Basic Graphics:

  • Third Party Libraries Setup
  • Shader Abstraction
  • Transformation Matrices Setup
  • Camera Movement
  • Model Loading
  • Intermediate Graphics:

  • Blinn-Phong Lighting
  • Sun's Fragment Shader
  • Cubemap Skybox
  • MSAA
  • Normal and Depth Maps
  • Post-processing Framebuffer
  • Advanced Graphics

  • Bloom
  • Shadows
  • HDR
  • Gamma Handling
  • SSAO

After a whole journey, I've finally finished and I made a YouTube video about it:


Technologies used

  • OpenGL/GLSL
  • C/C++