2#include "Queryable.hpp"
4#include "IDebugRenderable.hpp"
8#include "DepthPyramid.hpp"
23 float Intensity = 1.0;
24 renderlayer_t illuminationLayers = ALL_LAYERS;
26 bool tickInvalidated =
true;
27 constexpr inline void invalidate(){tickInvalidated =
true;}
31 constexpr void SetColorRGBA(
const decltype(color)&
inColor) {
35 constexpr const decltype(color)& GetColorRGBA()
const {
38 constexpr void SetIntensity(
decltype(Intensity)
inIntensity){
42 constexpr decltype(Intensity) GetIntensity()
const{
45 constexpr bool isInvalidated()
const {
46 return tickInvalidated;
48 constexpr void clearInvalidate(){
49 tickInvalidated =
false;
58 illuminationLayers = layers;
60 constexpr auto GetIlluminationLayers(){
61 return illuminationLayers;
71 bool doesCastShadow =
false;
72 renderlayer_t shadowLayers = ALL_LAYERS;
75 bool CastsShadows()
const {
return doesCastShadow; }
76 void SetCastsShadows(
bool casts) {
78 doesCastShadow =
casts;
86 shadowLayers = layers;
89 constexpr auto GetShadowLayers()
const{
108 RGLTexturePtr stagingDepthTexture;
110 bool environmentNeedsUpdate =
true;
112 EnvironmentLight(
decltype(sky) sky,
decltype(outputTexture)
ot,
decltype(irradianceTexture) it);
114 void SetNeedsUpdate() {
115 environmentNeedsUpdate =
true;
124 constexpr bool CastsShadows()
const {
return false; }
128 std::optional<EnvironmentLight> environment;
146 uint8_t numCascades = shadowCascades.size();
168 RGLTexturePtr mapCube;
172 matrix4 CalcProjectionMatrix()
const;
180 float CalculateRadius()
const{
181 return sqrt( GetIntensity() / LIGHT_MIN_INFLUENCE);
190 float coneAngle = 45.0;
191 float penumbraAngle = 10;
200 matrix4 CalcProjectionMatrix()
const;
206 RGLTexturePtr shadowMap;
216 constexpr void SetConeAngle(
decltype(coneAngle)
inAngle){
220 constexpr decltype(coneAngle) GetConeAngle()
const {
return coneAngle;}
221 constexpr void SetPenumbraAngle(
decltype(penumbraAngle) inAngle){
223 penumbraAngle = inAngle;
225 constexpr decltype(penumbraAngle) GetPenumbraAngle()
const {
return penumbraAngle;}
Definition DebugDrawer.hpp:11
constexpr void SetIlluminationLayers(renderlayer_t layers)
Definition Light.hpp:56
Definition RenderEngine.hpp:64
void DebugDraw(RavEngine::DebugDrawer &, const Transform &) const override
Definition Light.cpp:80
Definition concurrentqueue.h:747
Definition Animation.hpp:6
void DebugDraw(RavEngine::DebugDrawer &, const Transform &) const override
Definition Light.cpp:69
Definition Common3D.hpp:55
Definition DepthPyramid.hpp:8
void DebugDraw(RavEngine::DebugDrawer &, const Transform &) const override
Definition Light.cpp:65
Definition IDebugRenderable.hpp:8
void DebugDraw(RavEngine::DebugDrawer &, const Transform &) const override
Definition Light.cpp:74
Definition Queryable.hpp:38
Definition Queryable.hpp:21
constexpr void SetShadowLayers(renderlayer_t layers)
Definition Light.hpp:84
Definition qualifier.hpp:36
Definition qualifier.hpp:35