5 class RenderingDataManager;
65 friend Engine::Rendering::Renderer;
73 [[nodiscard]] Rendering::Renderer*
renderer()
const;
The application context is the core class which stores the basic openxr and vulkan objects.
Coordinates engine asset loading pipelines and runtime texture descriptor ownership.
Groups typed asset registry stores and resolves authored asset references.
Owns the miniaudio engine and provides the playback API.
Owns the Bullet dynamics world and dispatches engine collision events.
Manages game objects within a scene, handling registration, ID allocation, and GPU buffer synchroniza...
Schedules one-shot callbacks against engine time.
Owns the engine runtime and provides access to engine subsystems.
Rendering::Headset * headset_
Rendering::Renderer * renderer_
Core::ApplicationContext * context_
Rendering::WorldUiRenderer * worldUiRenderer() const
Core::RenderingDataManager * renderingDataManager() const
Rendering::WorldUiRenderer * worldUiRenderer_
static ImplSubsystems & get()
void bindRenderingDataManager(Core::RenderingDataManager *renderingDataManager)
void bindHeadset(Rendering::Headset *headset)
void bindRenderer(Rendering::Renderer *renderer)
Rendering::Renderer * renderer() const
Rendering::Headset * headset() const
Core::RenderingDataManager * renderingDataManager_
Core::ApplicationContext * context() const
void bindWorldUiRenderer(Rendering::WorldUiRenderer *worldUiRenderer)
void bindContext(Core::ApplicationContext *context)
Owns the OpenXR session, XR swapchain, eye transforms, and per-frame XR submission state.
Renders WidgetComponent ImGui content into per-widget textures for world-space UI.
static Subsystems & get()
void bindAssetManger(Core::AssetManager *assetManager)
Core::AssetManager * assetManager() const
Core::SceneManager * sceneManager() const
void bindAssetRegistry(Core::AssetRegistry *assetRegistry)
Core::PhysicsEngine * physicsEngine_
Core::PhysicsEngine * physicsEngine() const
Core::SceneManager * sceneManager_
void bindSceneManager(Core::SceneManager *sceneManager)
void bindAudioEngine(Core::AudioEngine *audioEngine)
Core::AudioEngine * audioEngine() const
Core::TimerManager * timerManager() const
Core::AssetRegistry * assetRegistry() const
void bindTimerManager(Core::TimerManager *timerManager)
Core::TimerManager * timerManager_
void bindPhysicsEngine(Core::PhysicsEngine *physicsEngine)
Core::AssetRegistry * assetRegistry_
Core::AssetManager * assetManager_
Core::AudioEngine * audioEngine_