How mite085/miteengine works
MiteEngine is a modular C++ 3D engine with an integrated ImGui editor. The main workflow is application startup, scene and asset preparation, building a render queue, then rendering frames through an OpenGL pipeline; editor panels provide scene inspection and interaction. The README documents ECS, scene-graph/BVH queries, GLTF/PBR assets, lighting and the hybrid render stages. Some subsystem links are based on the README or import references in the supplied SOURCE INDEX; unsampled implementation details are not assumed.
Main entry points: application.cpp Application · asset_manager.cpp Asset Manager · opengl_pipeline.cpp OpenGL Pipeline · render_context.h Render Context
Components 25
Application
- Application
src/application/application.cpp - Window
src/engine/window/glfw_window/glfw_window.cpp - Event Bus
src/engine/event/event_bus.cpp
Scene and Input
- Input System
src/engine/input/input/input_manager.cpp - ECS Scene
src/engine/scene_core/scene_core/scene_core.cpp - Scene Graph
src/engine/scene_graph/scene_node_manager.cpp - Spatial Queries
src/engine/scene_graph/simple_bvh.cpp - Scene View
src/engine/scene_view/scene_view.cpp - Render Queue
src/engine/scene_view/render_queue.cpp - Scene Serialization
src/engine/scene_serializer/scene_serializer.cpp
Asset Pipeline
- Asset Manager
src/asset/asset_manager.cpp - Model Loading
src/asset/model_loader.cpp - Texture Loading
src/asset/texture_loader.cpp - Material Loading
src/asset/material_loader.cpp - Asset Cache
src/asset/asset_cache.h
Rendering and Lighting
- Material System
src/engine/material/material_factory.cpp - Light Manager
src/engine/light/light_core/light_manager.cpp - Render Pipeline
src/engine/renderer/render_core/render_pipeline.h - OpenGL Pipeline
src/engine/renderer/render_opengl/opengl_pipeline.cpp - Render Stages
src/engine/renderer/render_stages - Render Context
src/engine/renderer/render_core/render_context.h
Editor UI
- Editor UI
src/editor/editor.cpp - Editor Panels
src/engine/ui/ui_panel - UI System
src/engine/ui/ui_core/ui_system.cpp
Other components
- User
Connections 32
- User → Application: starts
README.md - Application → Window: initializes
- Application → Input System: initializes
- Application → ECS Scene: manages
- Application → Scene Graph: manages
- Application → Scene View: manages
- Application → Asset Manager: uses
- Application → Render Pipeline: initializes
- Application → UI System: initializes
- Application → Editor Panels: creates
src/application/application.cpp - Application → Light Manager: initializes
src/application/application.cpp - Application → Material System: initializes
src/application/application.cpp - Application → Event Bus: subscribes
src/application/application.cpp - ECS Scene → Scene Graph: provides entities
- Scene Graph → Spatial Queries: uses
- Scene View → Render Queue: builds
- Application → Scene Serialization: loads and saves
- Asset Manager → Model Loading: delegates
src/asset/asset_manager.cpp - Asset Manager → Texture Loading: delegates
src/asset/asset_manager.cpp - Asset Manager → Material Loading: delegates
src/asset/asset_manager.cpp - Asset Manager → Asset Cache: uses
- Render Pipeline → OpenGL Pipeline: implemented by
- OpenGL Pipeline → Render Stages: registers
src/engine/renderer/render_opengl/opengl_pipeline.cpp - OpenGL Pipeline → Render Context: creates
src/engine/renderer/render_opengl/opengl_pipeline.cpp - Render Context → Render Queue: reads
src/engine/renderer/render_core/render_context.h - Render Context → Light Manager: uses
src/engine/renderer/render_core/render_context.h - Light Manager → Application: publishes events
src/engine/light/light_core/light_manager.cpp - User → Editor UI: edits scene
README.md - Editor UI → Editor Panels: provides
README.md - Editor Panels → UI System: renders through
- Input System → Scene View: controls navigation
README.md - Render Stages → Render Stages: ShadowMap → G-Buffer → Deferred → Forward → Blend
README.md