Skip to content

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

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors