OrbitSim

High-performance real-time orbital mechanics simulator.

⚡ C++ 17 🎮 Vulkan & ImGui 🐍 Python ETL 🌌 Physics Engine
📦 Download Release 💻 GitHub Repo
OrbitSim Main View

Overview

OrbitSim is a desktop application capable of simulating thousands of celestial objects in real-time. Built upon the **Walnut** application framework, it utilizes the raw performance of **C++** and **Vulkan** to render complex orbital paths without performance overhead. The system integrates with real-world data, allowing users to visualize active satellites directly from the Celestrak database.

System Architecture

Core Engine (C++)

A custom simulation loop handles physics updates and orbital propagation. It utilizes smart pointers (`std::shared_ptr`) for memory management of scenes like `EarthOrbitViewer` and `SatelliteSearch`.

Graphics (Vulkan/ImGui)

Rendering is handled via the Vulkan API for low-overhead graphics. The user interface is built with **Dear ImGui**, allowing for immediate-mode GUI rendering for satellite searching and simulation controls.

Data Pipeline (Python)

An integrated **ETL (Extract, Transform, Load)** pipeline written in Python fetches Two-Line Element (TLE) sets from Celestrak and converts them into an optimized JSON format for the C++ engine.

Key Features