Plasma Engine  2.0
Loading...
Searching...
No Matches
ShadowPool.h
1#pragma once
2
3#include <RendererCore/Declarations.h>
4
10class plView;
13
14class PL_RENDERERCORE_DLL plShadowPool
15{
16public:
17 static plUInt32 AddDirectionalLight(const plDirectionalLightComponent* pDirLight, const plView* pReferenceView);
18 static plUInt32 AddPointLight(const plPointLightComponent* pPointLight, float fScreenSpaceSize, const plView* pReferenceView);
19 static plUInt32 AddSpotLight(const plSpotLightComponent* pSpotLight, float fScreenSpaceSize, const plView* pReferenceView);
20
21 static plGALTextureHandle GetShadowAtlasTexture();
22 static plGALBufferHandle GetShadowDataBuffer();
23
25 static void AddExcludeTagToWhiteList(const plTag& tag);
26
27private:
28 PL_MAKE_SUBSYSTEM_STARTUP_FRIEND(RendererCore, ShadowPool);
29
30 static void OnEngineStartup();
31 static void OnEngineShutdown();
32
33 static void OnExtractionEvent(const plRenderWorldExtractionEvent& e);
34 static void OnRenderEvent(const plRenderWorldRenderEvent& e);
35
36 struct Data;
37 static Data* s_pData;
38};
A directional lightsource shines light into one fixed direction and has infinite size....
Definition DirectionalLightComponent.h:22
Definition RendererFoundationDLL.h:418
Definition RendererFoundationDLL.h:411
Adds a dynamic point light to the scene, optionally casting shadows.
Definition PointLightComponent.h:25
Definition ShadowPool.h:15
Adds a spotlight to the scene, optionally casting shadows.
Definition SpotLightComponent.h:24
The tag class stores the necessary lookup information for a single tag which can be used in conjuncti...
Definition Tag.h:16
Encapsulates a view on the given world through the given camera and rendered with the specified Rende...
Definition View.h:21
Definition RenderWorld.h:9
Definition RenderWorld.h:24