How patrykledzion/cpp_fireworks works
This is a small C++ fireworks animation. The principal workflow starts in main.cpp, which initializes Program and repeatedly updates and draws the scene. Program owns the firework collection and window; Firework advances particle motion, creates explosion particles and trails, and delegates rendering to Drawing. Window handles Win32 events and OpenGL setup/presentation. The README contains only a preview link, so no additional product capabilities are documented; links reflect the sampled source.
Main entry points: Firework.cpp Firework particles · Program.cpp Scene controller · Window.cpp Window and events · main.cpp Program entry
Components 10
Application loop
- Program entry
main.cpp - Scene controller
Program.cpp
Firework simulation
- Firework particles
Firework.cpp - Random utilities
Utils.h - 3D vectors
Vector3.h
Window and rendering
- Window and events
Window.cpp - Primitive drawing
Drawing.cpp
Other components
- User
- Win32 platform
- OpenGL
Connections 12
- User → Program entry: launches
- Program entry → Scene controller: initializes and loops
- Scene controller → Window and events: creates and updates
- Scene controller → Firework particles: creates, updates, draws
- Scene controller → Random utilities: chooses launch parameters
- Firework particles → Scene controller: adds explosion particles
- Firework particles → Random utilities: samples explosion forces
- Firework particles → 3D vectors: uses motion vectors
- Firework particles → Primitive drawing: draws particles and trails
- Window and events → Win32 platform: creates window and dispatches events
- Window and events → OpenGL: initializes and presents
- Primitive drawing → OpenGL: issues drawing calls