Class for object manager. More...
#include <Manager.hpp>
Public Member Functions | |
SceneManager (Device &device) | |
SceneManager (const SceneManager &)=delete | |
SceneManager & | operator= (const SceneManager &)=delete |
SceneManager (SceneManager &&)=delete | |
SceneManager & | operator= (SceneManager &&)=delete |
void | addObject (const std::unique_ptr< Object > &object) |
void | addLight (const std::unique_ptr< Light > &light) |
void | destroyObject (const unsigned int objectId) |
void | destroyLight (const unsigned int lightId) |
void | destroyEntity (std::vector< unsigned int > *objectsIds, std::vector< unsigned int > *lightsIds) |
void | updateBuffer (GlobalUbo &ubo, unsigned long frameIndex, float frameTime) |
VkDescriptorBufferInfo | getBufferInfoForObject (const int frameIndex, const unsigned int objectId) const |
Object::Map & | getObjects () |
Light::Map & | getLights () |
std::vector< std::unique_ptr< Buffer > > & | getUboBuffers () |
std::shared_ptr< Texture > | getTextureDefault () |
bool | getDestroyState () const |
void | setDestroyState (const bool state) |
Private Attributes | |
unsigned int | m_currentObjId {0} |
unsigned int | m_currentLightId {0} |
std::shared_ptr< Texture > | m_textureDefault |
Object::Map | m_objects |
Light::Map | m_lights |
std::vector< std::unique_ptr< Buffer > > | m_uboBuffers {MAX_FRAMES_IN_FLIGHT} |
bool | m_destroyState {false} |
Class for object manager.
Definition at line 19 of file Manager.hpp.
|
explicit |
Definition at line 7 of file manager.cpp.
References ven::TextureFactory::create(), ven::Device::getProperties(), ven::Logger::logExecutionTime(), m_textureDefault, m_uboBuffers, and ven::MAX_OBJECTS.
|
delete |
|
delete |
|
inline |
Definition at line 31 of file Manager.hpp.
References m_lights.
|
inline |
Definition at line 30 of file Manager.hpp.
References m_objects.
void ven::SceneManager::destroyEntity | ( | std::vector< unsigned int > * | objectsIds, |
std::vector< unsigned int > * | lightsIds ) |
Definition at line 54 of file manager.cpp.
|
inline |
Definition at line 34 of file Manager.hpp.
References m_lights.
|
inline |
Definition at line 33 of file Manager.hpp.
References m_objects.
|
inlinenodiscard |
Definition at line 39 of file Manager.hpp.
References m_uboBuffers.
|
inlinenodiscard |
Definition at line 44 of file Manager.hpp.
References m_destroyState.
|
inline |
Definition at line 41 of file Manager.hpp.
References m_lights.
Referenced by ven::Gui::lightsSection().
|
inline |
Definition at line 40 of file Manager.hpp.
References m_objects.
Referenced by ven::Gui::objectsSection().
|
inline |
Definition at line 43 of file Manager.hpp.
References m_textureDefault.
|
inline |
Definition at line 42 of file Manager.hpp.
References m_uboBuffers.
|
delete |
|
delete |
|
inline |
Definition at line 46 of file Manager.hpp.
References m_destroyState.
Referenced by ven::Gui::lightsSection(), and ven::Gui::objectsSection().
void ven::SceneManager::updateBuffer | ( | GlobalUbo & | ubo, |
unsigned long | frameIndex, | ||
float | frameTime ) |
Definition at line 29 of file manager.cpp.
References ven::ObjectBufferData::modelMatrix, ven::GlobalUbo::numLights, and ven::GlobalUbo::pointLights.
|
private |
Definition at line 51 of file Manager.hpp.
|
private |
Definition at line 50 of file Manager.hpp.
|
private |
Definition at line 56 of file Manager.hpp.
Referenced by getDestroyState(), and setDestroyState().
|
private |
Definition at line 54 of file Manager.hpp.
Referenced by addLight(), destroyLight(), and getLights().
|
private |
Definition at line 53 of file Manager.hpp.
Referenced by addObject(), destroyObject(), and getObjects().
|
private |
Definition at line 52 of file Manager.hpp.
Referenced by getTextureDefault(), and SceneManager().
|
private |
Definition at line 55 of file Manager.hpp.
Referenced by getBufferInfoForObject(), getUboBuffers(), and SceneManager().