How hans-chrstn/signum-engine works
Signum Engine is an actively developed C++ game engine centered on Vulkan, with an editor and a playground executable. The main workflow is an application starting its platform window and renderer, then submitting frames for rendering and presentation; the editor adds workspace panels and scene-view camera controls. The tree also shows geometry, materials, shaders, textures, and Vulkan resource-management stages. Most connections beyond the documented application-to-renderer boundary are uncertain: source excerpts are limited, and the README notes that many engine features are not yet implemented.
Main entry points: vulkan_renderer.cpp Vulkan Renderer · application.cpp Application Runtime · editor_workspace.cpp Editor Workspace · vulkan_graphics_pipeline.cpp Graphics Pipeline
Components 21
Applications
- Editor Workspace
editor/editor_workspace.cpp - Editor Panels
editor/panels - Scene Camera
editor/scene_view/scene_view_camera_controller.cpp - Playground App
playground/main.cpp - Engine Entry
src/main.cpp
Engine Core
- Application Runtime
src/engine/core/application.cpp - Window & Input
src/engine/platform/window.hpp - Errors & Assertions
src/engine/core/error/engine_error.cpp - Math Primitives
src/engine/core/math/matrix4.hpp
Rendering
- Mesh Geometry
src/engine/renderer/geometry - Materials & Lighting
src/engine/renderer/material - Shader Inputs
src/engine/renderer/shader/graphics_shader_data.hpp - Shader Compiler
src/engine/renderer/shader/shader_source_compiler.cpp - Texture Loading
src/engine/renderer/texture/image_loader.cpp
Vulkan Backend
- Vulkan Renderer
src/engine/renderer/vulkan/vulkan_renderer.cpp - Graphics Pipeline
src/engine/renderer/vulkan/pipeline/vulkan_graphics_pipeline.cpp - GPU Resources
src/engine/renderer/vulkan/memory - Swapchain & Presentation
src/engine/renderer/vulkan/presentation/vulkan_swapchain.cpp
Other components
- User
- Vulkan API
- GLFW
Connections 20
- User → Editor Workspace: uses
- Editor Workspace → Editor Panels: shows
editor/editor_workspace.cpp - Editor Workspace → Scene Camera: uses
- User → Playground App: runs
- Engine Entry → Application Runtime: starts
- Editor Workspace → Application Runtime: uses
- Playground App → Application Runtime: uses
- Application Runtime → Window & Input: owns
src/engine/core/application.cpp - Application Runtime → Vulkan Renderer: forwards frames
- Window & Input → GLFW: uses
- Vulkan Renderer → Mesh Geometry: draws
- Vulkan Renderer → Materials & Lighting: uses
- Vulkan Renderer → Texture Loading: uses
- Vulkan Renderer → Graphics Pipeline: creates
- Graphics Pipeline → Shader Inputs: consumes
src/engine/renderer/vulkan/pipeline/vulkan_graphics_pipeline.cpp - Shader Compiler → Shader Inputs: produces
- Vulkan Renderer → GPU Resources: manages
- Vulkan Renderer → Swapchain & Presentation: presents
- Graphics Pipeline → Vulkan API: uses
- Math Primitives → Errors & Assertions: checks contracts
src/engine/core/math/matrix4.hpp