9 #include <componentptr.h>
10 #include <cameracomponent.h>
11 #include <transformcomponent.h>
12 #include <renderfrustumcomponent.h>
13 #include <rendergnomoncomponent.h>
19 class LightComponentInstance;
20 class RenderAdvancedService;
52 inline constexpr
const char*
color =
"color";
53 inline constexpr
const char*
intensity =
"intensity";
54 inline constexpr
const char*
origin =
"origin";
55 inline constexpr
const char*
direction =
"direction";
57 inline constexpr
const char*
angle =
"angle";
58 inline constexpr
const char*
falloff =
"falloff";
59 inline constexpr
const char*
flags =
"flags";
60 inline constexpr
const char*
lights =
"lights";
61 inline constexpr
const char*
count =
"count";
68 inline constexpr
const char*
nearFar =
"nearFar";
69 inline constexpr
const char*
strength =
"strength";
70 inline constexpr
const char*
spread =
"spread";
71 inline constexpr
const char*
flags =
"flags";
72 inline constexpr
const char*
count =
"count";
145 float mLineWidth = 1.0f;
146 float mGnomonSize = 1.0f;
153 virtual void getDependentComponents(std::vector<rtti::TypeInfo>& components)
const override;
155 bool mEnabled =
true;
156 bool mCastShadows =
false;
158 float mIntensity = 1.0f;
159 float mShadowStrength = 1.0f;
160 float mShadowSpread = 2.0f;
236 virtual void onDestroy()
override;
259 bool castsShadows()
const {
return canCastShadows() && mIsShadowEnabled; }
324 const glm::vec3
getLightDirection()
const {
return -glm::normalize(getTransform().getGlobalTransform()[2]); }
339 bool hasCamera()
const {
return mSpawnedCamera !=
nullptr; }
371 float mIntensity = 1.0f;
380 void registerUniformLightProperty(
const std::string& memberName);
398 bool mIsEnabled =
true;
399 bool mIsShadowEnabled =
false;
400 float mShadowStrength = 1.0f;
401 float mShadowSpread = 2.0f;
405 std::vector<nap::rtti::Property> mUniformList;
unsigned int uint
Definition: numeric.h:23
Locator mLocator
Property: 'Locator' Locator settings.
Definition: lightcomponent.h:161
const RenderFrustumComponentInstance * getFrustrum() const
Definition: lightcomponent.h:364
virtual float getShadowStrength() const
Definition: lightcomponent.h:289
LightComponentInstance(EntityInstance &entity, Component &resource)
Definition: lightcomponent.h:217
Definition: lightcomponent.h:211
CameraComponentInstance & getCamera() const
Definition: lightcomponent.h:344
virtual void enable(bool enable)
Definition: lightcomponent.h:242
bool canCastShadows() const
Definition: lightcomponent.h:254
Definition: cameracomponent.h:38
uint8_t uint8
Definition: numeric.h:16
bool castsShadows() const
Definition: lightcomponent.h:259
const RenderGnomonComponentInstance & getGnomon() const
Definition: lightcomponent.h:354
Definition: lightcomponent.h:135
Definition: renderadvancedservice.h:99
Definition: errorstate.h:19
RenderFrustumComponentInstance * getFrustrum()
Definition: lightcomponent.h:369
EShadowMapType
Definition: lightcomponent.h:36
virtual ~LightComponentInstance()
Definition: lightcomponent.h:224
CameraComponentInstance & getCamera()
Definition: lightcomponent.h:349
virtual const RGBColorFloat & getColor() const
Definition: lightcomponent.h:309
bool isEnabled() const
Definition: lightcomponent.h:247
virtual float getIntensity() const
Definition: lightcomponent.h:279
Definition: rendergnomoncomponent.h:47
constexpr const char * shadowMaps
Definition: lightcomponent.h:83
bool hasCamera() const
Definition: lightcomponent.h:339
SpawnedEntityInstance mSpawnedCamera
Definition: lightcomponent.h:396
const glm::vec3 getLightPosition() const
Definition: lightcomponent.h:319
uint NAPAPI getLightType(LightFlags flags)
virtual void setShadowSpread(float spread)
Definition: lightcomponent.h:304
TransformComponentInstance & getTransform()
Definition: lightcomponent.h:334
Definition: component.h:43
Definition: component.h:151
ELightType
Definition: lightcomponent.h:25
const TransformComponentInstance & getTransform() const
Definition: lightcomponent.h:329
glm::vec3 NAPAPI extractPosition(const glm::mat4x4 &matrix)
Definition: lightcomponent.h:143
Definition: templateapp.h:17
const glm::vec3 getLightDirection() const
Definition: lightcomponent.h:324
virtual float getShadowSpread() const
Definition: lightcomponent.h:299
virtual void setShadowStrength(float strength)
Definition: lightcomponent.h:294
virtual uint getShadowMapSize() const
Definition: lightcomponent.h:274
RenderGnomonComponentInstance & getGnomon()
Definition: lightcomponent.h:359
Definition: renderfrustumcomponent.h:55
void setColor(const RGBColorFloat &color)
Definition: lightcomponent.h:314
void setIntensity(float intensity)
Definition: lightcomponent.h:284
uint NAPAPI getShadowMapType(LightFlags flags)
constexpr const char * cubeShadowMaps
Definition: lightcomponent.h:84