diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 80 |
1 files changed, 2 insertions, 78 deletions
@@ -1,78 +1,2 @@ -# Donut Engine - -A modern C++ game engine with OpenGL rendering and ImGUI integration. - -## Features - -- **OpenGL Rendering**: Modern OpenGL 4.6 with GLAD loader -- **GLFW Window Management**: Cross-platform window and input handling -- **ImGUI Integration**: Immediate mode GUI for debugging and configuration -- **State Management**: Flexible state system for different application modes -- **Event System**: Comprehensive event handling for input and window events - -## States - -The engine uses a state-based architecture with the following states: - -### Menu State -- Main menu interface -- Navigation to other states -- Application exit functionality - -### Config State -- Simulation configuration -- Parameter adjustment (simulation speed, particle count, gravity) -- Settings reset functionality - -### Simulation State -- Real-time simulation controls -- Performance monitoring (FPS, frame time) -- Debug information display -- Time scale adjustment - -## Controls - -- **Key 1**: Switch to Config State -- **Key 2**: Switch to Simulation State -- **Key 3**: Switch to Main Menu -- **Mouse**: Navigate ImGUI interfaces -- **ImGUI Buttons**: State switching and configuration - -## Building - -The project uses Premake5 for build configuration: - -```bash -# Generate Visual Studio 2022 project -premake5 vs2022 - -# Generate other build systems as needed -premake5 gmake2 -premake5 xcode4 -``` - -## Dependencies - -- **GLFW**: Window management and input handling -- **GLAD**: OpenGL function loading -- **ImGUI**: Immediate mode GUI -- **GLM**: Mathematics library -- **Premake5**: Build system generation - -## Architecture - -The engine follows a modular architecture: - -- **Core**: Application, Window, Event, State management -- **Platform**: Renderer API abstraction (OpenGL, Vulkan) -- **Rendering**: High-level rendering interface -- **States**: Application state implementations - -## ImGUI Integration - -ImGUI is fully integrated into the engine with: - -- Automatic initialization after OpenGL context setup -- Per-state UI rendering through `OnImUIRender()` virtual function -- Proper frame management and cleanup -- Support for docking and viewports
\ No newline at end of file +# 𝔇𝔬𝔫𝔲𝔱 +A realtime blackhole simulator and renderer written in C. |
