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 };
21
22 public:
25
26 public:
27 void Register(SIRender* object, RenderGroupMode groupMode);
28 void Remove(SIRender* object, RenderGroupMode groupFlag);
29
30 protected:
31 virtual void Exterminate();
32
33 protected:
34 SRenderGroup* m_forwardRenderGroup = nullptr;
35 SRenderGroup* m_deferredRenderGroup = nullptr;
36 SRenderGroup* m_depthOnlyRenderGroup = nullptr;
37
38 unsigned int* m_width = nullptr;
39 unsigned int* m_height = nullptr;
40 };
41
42}