The Joe Engine
Joe's engine programming playground
JoeEngine::JESceneManager Class Reference

The Scene Manager class. More...

#include <SceneManager.h>

Public Member Functions

 JESceneManager ()
 Default constructor. More...
 
 ~JESceneManager ()=default
 Destructor (default). More...
 
void Initialize (JEEngineInstance *engineInstance)
 Initialization function. More...
 
void LoadScene (uint32_t sceneId, VkExtent2D windowExtent, VkExtent2D shadowPassExtent)
 Load the specified scene. More...
 
void RecreateResources (VkExtent2D windowExtent)
 Update camera resources. More...
 
void RegisterCallbacks (JEIOHandler *ioHandler)
 Register callback functions with IOHandler. More...
 

Public Attributes

JECamera m_camera
 Main scene rendering camera. More...
 
JECamera m_shadowCamera
 Light source / shadow map camera. More...
 

Detailed Description

The Scene Manager class.

Class that manages all data for scene management. Currently owns camera data (won't in the future). The most important function is LoadScene(), which makes all necessary engine calls to create a scene and is where user scene editing occurs programmatically.

Constructor & Destructor Documentation

◆ JESceneManager()

JoeEngine::JESceneManager::JESceneManager ( )
inline

Default constructor.

Initializes member variables. Engine later invokes Initialize().

◆ ~JESceneManager()

JoeEngine::JESceneManager::~JESceneManager ( )
default

Destructor (default).

Member Function Documentation

◆ Initialize()

void JoeEngine::JESceneManager::Initialize ( JEEngineInstance engineInstance)

Initialization function.

◆ LoadScene()

void JoeEngine::JESceneManager::LoadScene ( uint32_t  sceneId,
VkExtent2D  windowExtent,
VkExtent2D  shadowPassExtent 
)

Load the specified scene.

Loads the scene specified by sceneId.

Parameters
sceneIdthe id of the scene to load
windowExtentthe extent for the scene rendering camera
shadowPassExtentthe extent for the light source / shadow map rendering camera

◆ RecreateResources()

void JoeEngine::JESceneManager::RecreateResources ( VkExtent2D  windowExtent)

Update camera resources.

Updates scene resources. Currently just updates the aspect ratio of the scene rendering camera.

Parameters
windowExtentthe new extent for the scene rendering camera.

◆ RegisterCallbacks()

void JoeEngine::JESceneManager::RegisterCallbacks ( JEIOHandler ioHandler)

Register callback functions with IOHandler.

Links custom functions to keypresses with the IOHandler.

Parameters
ioHandlerthe ioHandler subsystem to register callback functions with.

Member Data Documentation

◆ m_camera

JECamera JoeEngine::JESceneManager::m_camera

Main scene rendering camera.

◆ m_shadowCamera

JECamera JoeEngine::JESceneManager::m_shadowCamera

Light source / shadow map camera.


The documentation for this class was generated from the following files: