Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
Loading...
Searching...
No Matches
scene_manager.hpp File Reference
#include "rendering_engine_export.hpp"
#include "render_resource_context.hpp"
#include <functional>
#include <memory>
#include <string>
#include <unordered_map>

Go to the source code of this file.

Classes

class  rendering_engine::SceneManager
 Manages scenes, resource caches, and scene transitions within the rendering engine. More...
struct  rendering_engine::SceneAutoRegistrar< TScene >
 Template-based auto-registrar for scenes. More...
struct  rendering_engine::StartSceneAutoSetter
 Helper struct for automatically setting the start scene name. More...

Namespaces

namespace  rendering_engine

Macros

#define REG_SCENE(Type, NameStr)
 Convenience macro for registering a scene type with a name.
#define RE_CAT_INNER(a, b)
 Helper macros for concatenating tokens during static registration.
#define RE_CAT(a, b)
#define START_SCENE(NameStr)
 Macro for defining the application's start scene.

Macro Definition Documentation

◆ RE_CAT

#define RE_CAT ( a,
b )
Value:
#define RE_CAT_INNER(a, b)
Helper macros for concatenating tokens during static registration.

Definition at line 178 of file scene_manager.hpp.

◆ RE_CAT_INNER

#define RE_CAT_INNER ( a,
b )
Value:
a##b

Helper macros for concatenating tokens during static registration.

Definition at line 177 of file scene_manager.hpp.

◆ REG_SCENE

#define REG_SCENE ( Type,
NameStr )
Value:
_auto_registrar_##Type##__{NameStr}
Template-based auto-registrar for scenes.

Convenience macro for registering a scene type with a name.

Parameters
TypeClass type of the scene.
NameStrName string used for registration.

Definition at line 163 of file scene_manager.hpp.

163#define REG_SCENE(Type, NameStr) \
164 static rendering_engine::SceneAutoRegistrar<Type> \
165 _auto_registrar_##Type##__{NameStr}

◆ START_SCENE

#define START_SCENE ( NameStr)
Value:
static StartSceneAutoSetter RE_CAT(_start_scene_, __COUNTER__){NameStr}
#define RE_CAT(a, b)

Macro for defining the application's start scene.

Parameters
NameStrName of the scene to start with.

Example:

START_SCENE("MainMenu");
#define START_SCENE(NameStr)
Macro for defining the application's start scene.

Definition at line 188 of file scene_manager.hpp.

188#define START_SCENE(NameStr) \
189 static StartSceneAutoSetter RE_CAT(_start_scene_, __COUNTER__){NameStr}