1#include "RenderContainer.h"
2#include "../../Util/Render/SFrameBuffer.h"
3#include "../../Util/Render/SMaterial.h"
4#include "../../Util/Render/SGBuffer.h"
8RenderContainer::RenderContainer() {}
11RenderContainer::~RenderContainer() {}
13void RenderContainer::Register(
SIRender*
object, RenderGroupMode groupMode) {
16 m_forwardRenderGroup->RegisterObject(
object);
19 m_deferredRenderGroup->RegisterObject(
object);
22 m_depthOnlyRenderGroup->RegisterObject(
object);
27void RenderContainer::Remove(
SIRender*
object, RenderContainer::RenderGroupMode groupFlag) {
30 m_forwardRenderGroup->RemoveObjects(
object);
33 m_deferredRenderGroup->RemoveObjects(
object);
36 m_depthOnlyRenderGroup->RegisterObject(
object);
41void RenderContainer::Exterminate() {
42 m_forwardRenderGroup->Exterminate();
43 SAFE_DELETE(m_forwardRenderGroup);
44 m_deferredRenderGroup->Exterminate();
45 SAFE_DELETE(m_deferredRenderGroup);
46 m_depthOnlyRenderGroup->Exterminate();
47 SAFE_DELETE(m_depthOnlyRenderGroup);