CSEngine
Loading...
Searching...
No Matches
RenderContainer.h
1#pragma once
2#include <vector>
3#include <list>
4#include <unordered_map>
5#include "../../Util/Render/SRenderGroup.h"
6
7
8namespace CSE {
9
10 class SFrameBuffer;
11 class SGBuffer;
12 class SRenderGroup;
13
15 public:
16 enum RenderGroupMode {
17 FORWARD = 0,
18 DEFERRED = 1,
19 DEPTH_ONLY = 2,
20 SDF = 3,
21 };
22
23 public:
26
27 public:
28 void Register(SIRender* object, RenderGroupMode groupMode);
29 void Remove(SIRender* object, RenderGroupMode groupFlag);
30
31 protected:
32 virtual void Exterminate();
33
34 protected:
35 SRenderGroup* m_forwardRenderGroup = nullptr;
36 SRenderGroup* m_deferredRenderGroup = nullptr;
37 SRenderGroup* m_depthOnlyRenderGroup = nullptr;
38 SRenderGroup* m_sdfRenderGroup = nullptr;
39
40 unsigned int* m_width = nullptr;
41 unsigned int* m_height = nullptr;
42 };
43
44}