2
3
4
5
20 if(!m_RendererManager)
22 m_RendererManager = std::make_unique<RendererManager>();
25 return *m_RendererManager;
33
34
35 m_Identities.for_each([&](
auto& k,
auto& v) {
36 v->Render(ts, frameInfo);
41
42
43 m_Identities.for_each([&](
auto& k,
auto& v) {
44 v->ResetRendererState();
48 RENDERPASS_STATISTICS_ENDFRAME
56
57
58 m_Identities.for_each([](
auto& k,
auto& v) {
59 v->OnWindowResizeOver();
69
70
71 m_Identities.for_each([](
auto& k,
auto& v) {
82
83
84 m_Identities.for_each([](
auto& k,
auto& v) {
85 v->OnMeshAddedWorld();
94 if (m_Identities.has_key(name))
96 return *m_Identities.find_value(name);
100 ss <<
"RendererManager::GetRenderer: Not such a renderer called: " << name;
102 SPICES_CORE_ERROR(ss.str())
#define SPICES_PROFILE_ZONE
FrameInfo Class. This class defines the FrameInfo data.
static std::shared_ptr< Renderer > GetRenderer(const std::string &name)
static void OnSlateResize()
Event Called on Slate resize.
static std::unique_ptr< RendererManager > m_RendererManager
Static RendererManager.
static void OnWindowResizeOver()
This function is called on swapchain resized or out of data. Recreate all renderer render pass,...
static void Run(TimeStep &ts, FrameInfo &frameInfo)
All renderer Start to Render.
static RendererManager & Get()
Get Static RendererManager.
static void OnMeshAddedWorld()
Event Called on world mark querier.
static scl::linked_unordered_map< std::string, std::shared_ptr< Renderer > > m_Identities
A container contains all renderer.
RendererManager Class. This class Manages all renderer.
Renderer Class. This class defines the basic behaves of renderer. When we add an new Renderer,...
This Class handles our engine time step during frames. Global Unique.
The container combines hashmap and list together. Used in the case that we want iter a hashmap in ord...