8 #include "renderfrustumcomponent.h"
11 #include <component.h>
12 #include <componentptr.h>
13 #include <cameracomponent.h>
14 #include <transformcomponent.h>
15 #include <rendergnomoncomponent.h>
21 class LightComponentInstance;
22 class RenderAdvancedService;
54 inline constexpr
const char*
color =
"color";
55 inline constexpr
const char*
intensity =
"intensity";
56 inline constexpr
const char*
origin =
"origin";
57 inline constexpr
const char*
direction =
"direction";
59 inline constexpr
const char*
angle =
"angle";
60 inline constexpr
const char*
falloff =
"falloff";
61 inline constexpr
const char*
flags =
"flags";
62 inline constexpr
const char*
lights =
"lights";
63 inline constexpr
const char*
count =
"count";
70 inline constexpr
const char*
nearFar =
"nearFar";
71 inline constexpr
const char*
strength =
"strength";
72 inline constexpr
const char*
spread =
"spread";
73 inline constexpr
const char*
flags =
"flags";
74 inline constexpr
const char*
count =
"count";
147 float mLineWidth = 1.0f;
148 float mGnomonSize = 1.0f;
155 virtual void getDependentComponents(std::vector<rtti::TypeInfo>& components)
const override;
157 bool mEnabled =
true;
158 bool mCastShadows =
false;
160 float mIntensity = 1.0f;
161 float mShadowStrength = 1.0f;
162 float mShadowSpread = 2.0f;
238 virtual void onDestroy()
override;
261 bool castsShadows()
const {
return canCastShadows() && mIsShadowEnabled; }
326 const glm::vec3
getLightDirection()
const {
return -glm::normalize(getTransform().getGlobalTransform()[2]); }
341 bool hasCamera()
const {
return mSpawnedCamera !=
nullptr; }
373 float mIntensity = 1.0f;
382 void registerUniformLightProperty(
const std::string& memberName);
400 bool mIsEnabled =
true;
401 bool mIsShadowEnabled =
false;
402 float mShadowStrength = 1.0f;
403 float mShadowSpread = 2.0f;
407 std::vector<nap::rtti::Property> mUniformList;
unsigned int uint
Definition: numeric.h:23
Locator mLocator
Property: 'Locator' Locator settings.
Definition: lightcomponent.h:163
const RenderFrustumComponentInstance * getFrustrum() const
Definition: lightcomponent.h:366
virtual float getShadowStrength() const
Definition: lightcomponent.h:291
LightComponentInstance(EntityInstance &entity, Component &resource)
Definition: lightcomponent.h:219
Definition: lightcomponent.h:213
CameraComponentInstance & getCamera() const
Definition: lightcomponent.h:346
virtual void enable(bool enable)
Definition: lightcomponent.h:244
bool canCastShadows() const
Definition: lightcomponent.h:256
Definition: cameracomponent.h:38
uint8_t uint8
Definition: numeric.h:16
bool castsShadows() const
Definition: lightcomponent.h:261
const RenderGnomonComponentInstance & getGnomon() const
Definition: lightcomponent.h:356
Definition: lightcomponent.h:137
Definition: renderadvancedservice.h:99
Definition: errorstate.h:19
RenderFrustumComponentInstance * getFrustrum()
Definition: lightcomponent.h:371
EShadowMapType
Definition: lightcomponent.h:38
virtual ~LightComponentInstance()
Definition: lightcomponent.h:226
CameraComponentInstance & getCamera()
Definition: lightcomponent.h:351
virtual const RGBColorFloat & getColor() const
Definition: lightcomponent.h:311
bool isEnabled() const
Definition: lightcomponent.h:249
virtual float getIntensity() const
Definition: lightcomponent.h:281
Definition: rendergnomoncomponent.h:47
constexpr const char * shadowMaps
Definition: lightcomponent.h:85
bool hasCamera() const
Definition: lightcomponent.h:341
SpawnedEntityInstance mSpawnedCamera
Definition: lightcomponent.h:398
const glm::vec3 getLightPosition() const
Definition: lightcomponent.h:321
uint NAPAPI getLightType(LightFlags flags)
virtual void setShadowSpread(float spread)
Definition: lightcomponent.h:306
TransformComponentInstance & getTransform()
Definition: lightcomponent.h:336
Definition: component.h:43
Definition: component.h:151
ELightType
Definition: lightcomponent.h:27
const TransformComponentInstance & getTransform() const
Definition: lightcomponent.h:331
glm::vec3 NAPAPI extractPosition(const glm::mat4x4 &matrix)
Definition: lightcomponent.h:145
Definition: templateapp.h:17
const glm::vec3 getLightDirection() const
Definition: lightcomponent.h:326
virtual float getShadowSpread() const
Definition: lightcomponent.h:301
virtual void setShadowStrength(float strength)
Definition: lightcomponent.h:296
virtual uint getShadowMapSize() const
Definition: lightcomponent.h:276
RenderGnomonComponentInstance & getGnomon()
Definition: lightcomponent.h:361
Definition: renderfrustumcomponent.h:55
void setColor(const RGBColorFloat &color)
Definition: lightcomponent.h:316
void setIntensity(float intensity)
Definition: lightcomponent.h:286
uint NAPAPI getShadowMapType(LightFlags flags)
constexpr const char * cubeShadowMaps
Definition: lightcomponent.h:86