CSEngine
Loading...
Searching...
No Matches
ForwardRenderGroup.h
1
#pragma once
2
3
#include <unordered_map>
4
#include <map>
5
#include "../../Util/Render/SRenderGroup.h"
6
7
namespace
CSE {
8
9
class
LightMgr;
10
class
SShaderGroup;
11
16
class
ForwardRenderGroup
:
public
SRenderGroup
{
17
private
:
18
typedef
std::vector<SIRender*> RenderInterfaces;
19
typedef
std::unordered_map<SShaderGroup*, RenderInterfaces> ProgramRenderLayer;
20
typedef
std::map<short, ProgramRenderLayer> OrderRenderLayer;
21
22
public
:
27
explicit
ForwardRenderGroup
(
const
RenderMgr
& renderMgr);
28
32
~ForwardRenderGroup
()
override
;
33
38
void
RegisterObject
(
SIRender
*
object
)
override
;
39
44
void
RemoveObjects
(
SIRender
*
object
)
override
;
45
50
void
RenderAll
(
const
CameraBase
& camera)
const override
;
51
55
void
Exterminate
()
override
;
56
57
private
:
58
OrderRenderLayer m_rendersLayer;
59
LightMgr
* m_lightMgr =
nullptr
;
60
};
61
62
}
CSE::CameraBase
Definition
CameraBase.h:8
CSE::ForwardRenderGroup
Definition
ForwardRenderGroup.h:16
CSE::ForwardRenderGroup::RenderAll
void RenderAll(const CameraBase &camera) const override
Definition
ForwardRenderGroup.cpp:56
CSE::ForwardRenderGroup::~ForwardRenderGroup
~ForwardRenderGroup() override
CSE::ForwardRenderGroup::RegisterObject
void RegisterObject(SIRender *object) override
Definition
ForwardRenderGroup.cpp:20
CSE::ForwardRenderGroup::Exterminate
void Exterminate() override
Definition
ForwardRenderGroup.cpp:98
CSE::ForwardRenderGroup::RemoveObjects
void RemoveObjects(SIRender *object) override
Definition
ForwardRenderGroup.cpp:32
CSE::LightMgr
Definition
LightMgr.h:17
CSE::RenderMgr
Class for managing rendering operations.
Definition
RenderMgr.h:21
CSE::SIRender
Definition
RenderInterfaces.h:39
CSE::SRenderGroup
Definition
SRenderGroup.h:7
Manager
Render
ForwardRenderGroup.h
Generated on Fri Nov 22 2024 01:09:31 for CSEngine by
1.9.8