How whotftookshadowflare/voidengine works
VoidEngine is a desktop game engine. Its principal runtime path is engine initialization and event polling, scene/object composition, then scene drawing into a render frame for rendering. Other documented-by-tree capabilities include input/window handling, audio, resource providers, and script engines (with a Lua implementation). The README gives no usage workflow, and source excerpts are partial, so links for unsampled subsystem wiring are omitted.
Main entry points: scene.cpp Scene · engine.cpp Engine · graphics_program_opengl.cpp GL programs · lua_script_engine.cpp Lua engine
Components 26
Engine Core
- Engine
src/engine.cpp - Event system
src/event/event_bus.cpp
Scene Runtime
- Scene
src/scene/scene.cpp - Game objects
src/scene/game_object.cpp - Scene components
src/scene/components - Model providers
include/ve/io/res_providers/model
Graphics
- Renderer
src/io/gfx/renderer.cpp - Render frame
src/io/gfx/render_frame.cpp - Graphics API
include/ve/io/gfx - OpenGL backend
components/graphics/opengl/backend_opengl.cpp - GL programs
components/graphics/opengl/graphics_program_opengl.cpp - GL shaders
components/graphics/opengl/shader_opengl.cpp - GL meshes
components/graphics/opengl/mesh_opengl.cpp - GL textures
components/graphics/opengl/texture_opengl.cpp
Platform I/O
- Window
src/io/window.cpp - Input
src/io/input.cpp - Audio
src/io/sfx/audio.cpp - OpenAL backend
components/audio/openal/backend_openal.cpp - Resource providers
include/ve/io/res_providers
Scripting
- Script engines
src/script/script_engines.cpp - Lua engine
components/scripts/lua/lua_script_engine.cpp - Script runtime
src/script/script.cpp
Other components
- Game developer
- SDL platform
- Lua runtime
- OpenAL
Connections 29
- Game developer → Engine: initializes
- Engine → Window: polls events
- Engine → Input: forwards input
- Engine → Audio: creates audio
- Engine → Event system: fires events
- SDL platform → Engine: delivers events
- Window → Event system: emits events
- Input → Event system: emits events
- Game developer → Scene: loads scene
- Scene → Model providers: creates providers
- Scene → Game objects: creates objects
- Scene → Scene components: attaches components
- Game objects → Scene components: draws components
- Scene → Render frame: creates frame
- Scene → Renderer: gets renderer
- Render frame → Graphics API: holds render data
- Renderer → Graphics API: uses interface
- OpenGL backend → GL programs: creates programs
- GL programs → GL shaders: attaches shaders
- GL programs → GL meshes: draws mesh
- GL programs → GL textures: binds textures
- OpenGL backend → OpenAL
- Game developer → Script engines: requests compilation
- Script engines → Lua engine: dispatches compile
- Lua engine → Script runtime: creates scripts
- Lua engine → Lua runtime: uses runtime
- Audio → OpenAL backend: selects backend
- OpenAL backend → OpenAL: uses audio API
- Game developer → Resource providers: selects assets