How jacoberscom/kos-engine works
KOS-Engine is an early-stage C++ game-engine project. Its only demonstrated runtime workflow creates an EnTT registry and adds a window component; window creation and event processing are implemented separately, but the entry point does not invoke them. The repository also contains math and logging utilities, shaders, and a Vulkan renderer design. The sampled Vulkan implementation is commented out, so rendering is shown as an inactive subsystem rather than a live runtime flow. The README states the Vulkan-engine goal but documents few capabilities; connections to unsampled shader behavior are therefore omitted.
Main entry points: main.cpp Engine Entry · KWindow.cpp Window System · KLog.cpp Logger · Common.h Platform Utilities
Components 13
Application Runtime
- Engine Entry
src/main.cpp
Core Services
- Window System
src/Core/Window/KWindow.cpp - Platform Utilities
src/Core/Utils/Common.h - Logger
src/Core/Logger/KLog.cpp - 3D Vector
src/Core/Math/KVector3.h - Vector Constants
src/Core/Math/KVector3.cpp - 4x4 Matrix
src/Core/Math/KMat4.h
Vulkan Rendering
- Vulkan Renderer
src/RHI/Vulkan/KRender.cpp - Renderer Interface
src/RHI/Vulkan/KRender.h - Vertex Shader
Shaders/VertexShader.hlsl - Pixel Shader
Shaders/PixelShader.hlsl
Other components
- EnTT Registry
- Log File
Connections 8
- Engine Entry → EnTT Registry: creates registry
src/main.cpp - Engine Entry → Window System: emplace component
src/main.cpp - Engine Entry → Platform Utilities: uses base types
src/main.cpp - Window System → Platform Utilities: uses platform API
src/Core/Window/KWindow.cpp - Window System → Logger: logs status
src/Core/Window/KWindow.cpp - Logger → Log File: writes optionally
src/Core/Logger/KLog.cpp - Vector Constants → 3D Vector: defines constants
src/Core/Math/KVector3.cpp - Renderer Interface → Vulkan Renderer: declares renderer