How qbic/cyb-engine works
cyb-engine is a modifiable 3D engine with a sample game. The principal documented workflow is game code using the high-level interface (HLI) and input, with HLI driving rendering and the editor; rendering relies on engine systems and graphics. The repository also includes scene/ECS, resource loading, model import, terrain tools, and profiling. Edges follow the README dependency graph or explicit source references; unsampled implementation details are not inferred.
Main entry points: renderer.cpp Renderer · device.h Graphics device API · application.cpp Application loop · scene.cpp Scene and ECS
Components 24
Game entry
- Game logic
game/game.cpp - Windows entry
game/main_windows.cpp
High-level interface
- Application loop
engine/hli/application.cpp - 3D render path
engine/hli/renderpath_3d.cpp - 2D render path
engine/hli/renderpath_2d.cpp - Canvas API
engine/hli/canvas.h
Editor tools
- Editor interface
engine/editor/editor.cpp - Terrain tools
engine/editor/terrain_generator.cpp - Heightmap tools
engine/editor/heightmap.cpp - Undo history
engine/editor/undo_manager.cpp
Engine runtime
- Input handling
engine/input/input.cpp - Scene and ECS
engine/systems/scene.cpp - Resource loading
engine/systems/resource_manager.cpp - Event system
engine/systems/event_system.h - Job system
engine/systems/job_system.cpp - Runtime profiler
engine/systems/profiler.cpp - Model import
engine/graphics/model_import_gltf.cpp - Noise generation
engine/core/noise.cpp - Core services
engine/core/filesystem.cpp
Platform graphics
- Renderer
engine/graphics/renderer.cpp - Graphics device API
engine/graphics/device.h - Vulkan backend
engine/graphics/device_vulkan.cpp - Display
engine/graphics/display.cpp - Windows client window
engine/graphics/window_win32.cpp
Connections 21
- Game logic → Application loop: uses HLI
- Game logic → Input handling: uses input
- Application loop → Renderer: drives rendering
- Application loop → Editor interface: integrates editor
- 3D render path → Renderer: uses renderer
- Renderer → Scene and ECS: uses scene
engine/graphics/renderer.cpp - Renderer → Event system: uses events
engine/graphics/renderer.cpp - Renderer → Runtime profiler: uses profiling
engine/graphics/renderer.cpp - Renderer → Resource loading: uses resources
- Renderer → Graphics device API: uses device API
- Graphics device API → Core services: uses core types
engine/graphics/device.h - Graphics device API → Display: uses display types
engine/graphics/device.h - Vulkan backend → Graphics device API: implements API
- Input handling → Core services: uses core types
- Scene and ECS → Renderer: uses renderer types
- Scene and ECS → Core services: uses serialization
- Resource loading → Graphics device API: creates GPU assets
engine/systems/resource_manager.cpp - Undo history → Scene and ECS: uses scene
- Windows entry → Windows client window: uses window API
game/main_windows.cpp - Application loop → Windows client window: owns window
- Application loop → Graphics device API: owns device