Rendering Engine 0.2.9
Modular Graphics Rendering Engine | v0.2.9
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. More...
 
#define RE_CAT_INNER(a, b)   a##b
 Helper macros for concatenating tokens during static registration. More...
 
#define RE_CAT(a, b)   RE_CAT_INNER(a,b)
 
#define START_SCENE(NameStr)    static StartSceneAutoSetter RE_CAT(_start_scene_, __COUNTER__){NameStr}
 Macro for defining the application's start scene. More...
 

Macro Definition Documentation

◆ RE_CAT

#define RE_CAT (   a,
 
)    RE_CAT_INNER(a,b)

Definition at line 182 of file scene_manager.hpp.

◆ RE_CAT_INNER

#define RE_CAT_INNER (   a,
 
)    a##b

Helper macros for concatenating tokens during static registration.

Definition at line 181 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 167 of file scene_manager.hpp.

◆ START_SCENE

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

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 192 of file scene_manager.hpp.