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
25namespace GraphicsFeature
26{
27
29{
31public:
32
34 virtual ~GraphicsManager();
35
36 void OnActivate() override;
37 void OnDeactivate() override;
38 void OnDecay() override;
39 void OnCleanup(Game::World* world) override;
40
42 static void InitModel(Game::World*, Game::Entity, Model*);
44 static void InitPointLight(Game::World* world, Game::Entity entity, PointLight* light);
46 static void InitSpotLight(Game::World* world, Game::Entity entity, SpotLight* light);
48 static void InitAreaLight(Game::World* world, Game::Entity entity, AreaLight* light);
50 static void InitDecal(Game::World* world, Game::Entity entity, Decal* decal);
52 static void InitDDGIVolume(Game::World* world, Game::Entity entity, DDGIVolume* volume);
53
54private:
59};
60
61} // namespace GraphicsFeature
62
63namespace Game
64{
65template <>
67}
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:29
void OnActivate() override
Definition graphicsmanager.cc:355
void OnDeactivate() override
called when removed from game server
Definition graphicsmanager.cc:368
static void InitPointLight(Game::World *world, Game::Entity entity, PointLight *light)
called automatically when a point light needs to be initialized
Definition graphicsmanager.cc:377
static void InitDDGIVolume(Game::World *world, Game::Entity entity, DDGIVolume *volume)
called automatically when a ddgi volume needs to be initialized
Definition graphicsmanager.cc:471
void OnCleanup(Game::World *world) override
Cleanup all graphics entities.
Definition graphicsmanager.cc:522
void InitUpdateLightTransformProcessor()
Definition graphicsmanager.cc:252
static void InitAreaLight(Game::World *world, Game::Entity entity, AreaLight *light)
called automatically when an area light needs to be initialized
Definition graphicsmanager.cc:422
static void InitSpotLight(Game::World *world, Game::Entity entity, SpotLight *light)
called automatically when a spot light needs to be initialized
Definition graphicsmanager.cc:395
void InitUpdateModelTransformProcessor()
Definition graphicsmanager.cc:228
void InitUpdateDecalTransformProcessor()
Definition graphicsmanager.cc:304
virtual __DeclareClass(GraphicsManager) public ~GraphicsManager()
Definition graphicsmanager.cc:41
static void InitModel(Game::World *, Game::Entity, Model *)
called automatically when a model needs to be initialized
Definition graphicsmanager.cc:504
void OnDecay() override
called before cleaning up managed properties decay buffers
Definition graphicsmanager.cc:171
void InitUpdateDDGIVolumeTransformProcessor()
Definition graphicsmanager.cc:329
static void InitDecal(Game::World *world, Game::Entity entity, Decal *decal)
called automatically when a decal needs to be initialized
Definition graphicsmanager.cc:450
Game::EditorState.
Definition graphicsmanager.h:64
MemDb::AttributeId ComponentId
Definition componentid.h:15
void ComponentDrawFuncT< GraphicsFeature::AreaLightShape >(Game::Entity, ComponentId, void *, bool *)
Definition graphicsfeatureunit.cc:60
#define __DeclareClass(type)
An entity is essentially just an Id with some utility functions attached.
Definition entity.h:35