Skip to content

A visually stunning simulation of the Solar System, rendered in OpenGL with detailed textures and dynamic lighting to bring the celestial beauty right to your screen.

Notifications You must be signed in to change notification settings

ZzzhHe/SolarSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solar Eclipse

A visually stunning OpenGL-based simulation of the Solar Eclipse system, featuring realistic celestial body movements, atmospheric effects, and advanced rendering techniques.

1

Original demo video

Celestial Simulation Features

  • Accurate celestial mechanics:
    • Earth's rotation (23.5° axial tilt) and orbital motion around the Sun
    • Moon's orbit around Earth with inclination variations
    • Solar rotation and corona visualization
  • Atmospheric and space phenomena:
    • Dynamic solar flare particle system with realistic dispersion
    • Twilight zone (terminator line) visualization
    • Realistic shadow casting and eclipse simulation
    • Cloud layer simulation for Earth

Technical Implementation

Core Systems

  • Custom OpenGL rendering pipeline with modern shader-based architecture
  • Robust scene graph system with hierarchical transformations
  • Advanced camera system with smooth transitions and focus tracking
  • Multi-pass rendering system for effects processing

Graphics Features

  • Physically-based lighting using Blinn-Phong illumination model
  • Advanced shadow mapping with PCF (Percentage Closer Filtering)
  • HDR rendering with bloom post-processing
    • Two-pass Gaussian blur for smooth light bleeding
    • Adaptive exposure and tone mapping
  • Particle system for solar phenomena
    • GPU-accelerated particle rendering
    • Dynamic particle lifecycle management
  • Mesh loading and optimization using Assimp
  • Custom vertex buffer management system
  • Stencil buffer-based object outlining

Performance Optimizations

  • Efficient buffer management with modern OpenGL practices
  • Optimized shadow map resolution scaling
  • Smart texture management with mipmap generation
  • Batched rendering for particle systems

Controls

  • Arrow keys: Camera movement
  • Q: Reset to Earth view
  • W: Wide Earth view
  • E: Moon focus
  • R: Solar system overview

Build Requirements

  • CMake 3.20 or higher
  • C++17 compatible compiler
  • Dependencies:
    • GLFW 3.4+
    • GLM
    • Assimp
    • OpenGL 4.1+

Dependencies

  • GLFW3: Window management and OpenGL context
  • GLAD: OpenGL function loader
  • GLM: Mathematics library
  • stb_image: Image loading
  • Assimp: 3D model importing
  • Dear ImGui: Debug interface (currently disabled)

Build Instructions

mkdir build
cd build
cmake ..
make

Packages

Assets Reference

Tutorials and References

About

A visually stunning simulation of the Solar System, rendered in OpenGL with detailed textures and dynamic lighting to bring the celestial beauty right to your screen.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published