GEAR is a modular C++20 application framework that uses Dear ImGui,
ImPlot and GLFW to provide a minimal,
UI-driven interface without relying on the console.
It’s designed as a sandbox and runtime core for experimenting with modern C++ features, GUI rendering,
real-time dashboards, and logging.
- Modular structure:
Application/,Logger/,GUI/,Tests/ - GUI-only interface using Dear ImGui, GLFW, and OpenGL
- Live data visualization with ImPlot (2D/3D plots)
- Custom application icons for executable, GLFW window, and custom title bar
- All dependencies managed via CMake
FetchContent(no manual downloads) - Cross-platform build support via CMake (Windows, Linux, macOS)
- Basic GoogleTest setup included
- GitHub Actions configured for CI builds
Build and debug instructions for all platforms are documented in
👉 Docs/DEVELOPMENT.md
Unit tests use GoogleTest and run in GitHub Actions on all platforms!
👉 Details: Docs/TESTING.md
Detailed documentation about the logging system, its architecture, and performance considerations can be found in
Logger.md.
This project uses the following main dependencies, all automatically managed via CMake's FetchContent:
- GLFW — window and input management
- Dear ImGui — immediate mode GUI
- ImPlot — plotting and real-time visualization
- fmt — modern formatting library
- stb_image — image loading for window and title bar icons
- GoogleTest — testing framework
Additionally, a modern C++ compiler (supporting C++20) and CMake (>= 3.20) are required to build the project.
This project is licensed under the MIT License.