Nebula
Loading...
Searching...
No Matches
graphicsmanager.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
12//------------------------------------------------------------------------------
13#include "core/refcounted.h"
14#include "core/singleton.h"
15#include "game/manager.h"
16#include "game/category.h"
19#include "components/camera.h"
20#include "components/decal.h"
21#include "components/lighting.h"
22#include "components/model.h"
23#include "components/gi.h"
24#include "components/terrain.h"
25
26namespace GraphicsFeature
27{
28
30{
32public:
33
35 virtual ~GraphicsManager();
36
37 void OnActivate() override;
38 void OnDeactivate() override;
39 void OnDecay() override;
40 void OnCleanup(Game::World* world) override;
41
43 static void InitModel(Game::World*, Game::Entity, Model*);
45 static void InitPointLight(Game::World* world, Game::Entity entity, PointLight* light);
47 static void InitSpotLight(Game::World* world, Game::Entity entity, SpotLight* light);
49 static void InitAreaLight(Game::World* world, Game::Entity entity, AreaLight* light);
51 static void InitDecal(Game::World* world, Game::Entity entity, Decal* decal);
53 static void InitDDGIVolume(Game::World* world, Game::Entity entity, DDGIVolume* volume);
55 static void InitTerrain(Game::World* world, Game::Entity entity, Terrain* terrain);
56
57private:
62};
63
64} // namespace GraphicsFeature
65
66namespace Game
67{
68template <>
70}
Managers are objects which care about some specific functionality of a feature.
Definition manager.h:32
A container of entities, their components, and processors.
Definition world.h:81
Handles logic for connecting the game layer with the render layer.
Definition graphicsmanager.h:30
static void InitTerrain(Game::World *world, Game::Entity entity, Terrain *terrain)
Called automatically when a terrain needs to be initialized.
Definition graphicsmanager.cc:505
void OnActivate() override
Definition graphicsmanager.cc:356
void OnDeactivate() override
called when removed from game server
Definition graphicsmanager.cc:369
static void InitPointLight(Game::World *world, Game::Entity entity, PointLight *light)
called automatically when a point light needs to be initialized
Definition graphicsmanager.cc:378
static void InitDDGIVolume(Game::World *world, Game::Entity entity, DDGIVolume *volume)
called automatically when a ddgi volume needs to be initialized
Definition graphicsmanager.cc:472
void OnCleanup(Game::World *world) override
Cleanup all graphics entities.
Definition graphicsmanager.cc:546
void InitUpdateLightTransformProcessor()
Definition graphicsmanager.cc:253
static void InitAreaLight(Game::World *world, Game::Entity entity, AreaLight *light)
called automatically when an area light needs to be initialized
Definition graphicsmanager.cc:423
static void InitSpotLight(Game::World *world, Game::Entity entity, SpotLight *light)
called automatically when a spot light needs to be initialized
Definition graphicsmanager.cc:396
void InitUpdateModelTransformProcessor()
Definition graphicsmanager.cc:229
void InitUpdateDecalTransformProcessor()
Definition graphicsmanager.cc:305
virtual __DeclareClass(GraphicsManager) public ~GraphicsManager()
Definition graphicsmanager.cc:42
static void InitModel(Game::World *, Game::Entity, Model *)
called automatically when a model needs to be initialized
Definition graphicsmanager.cc:528
void OnDecay() override
called before cleaning up managed properties decay buffers
Definition graphicsmanager.cc:172
void InitUpdateDDGIVolumeTransformProcessor()
Definition graphicsmanager.cc:330
static void InitDecal(Game::World *world, Game::Entity entity, Decal *decal)
called automatically when a decal needs to be initialized
Definition graphicsmanager.cc:451
Game::EditorState.
Definition graphicsmanager.h:67
MemDb::AttributeId ComponentId
Definition componentid.h:15
void ComponentDrawFuncT< GraphicsFeature::AreaLightShape >(Game::Entity, ComponentId, void *, bool *)
Definition graphicsfeatureunit.cc:61
The occupancy quad tree implements a tree which allows for a quick search.
Definition occupancyquadtree.h:17
#define __DeclareClass(type)
An entity is essentially just an Id with some utility functions attached.
Definition entity.h:35