![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
#include <spot_light.hpp>
Public Member Functions | |
SpotLight () noexcept | |
SpotLight (const SpotLight &light) noexcept | |
SpotLight (SpotLight &&light) noexcept | |
virtual | ~SpotLight () |
SpotLight & | operator= (const SpotLight &light) noexcept |
SpotLight & | operator= (SpotLight &&light) noexcept |
RGB & | GetBaseColor () noexcept |
const RGB & | GetBaseColor () const noexcept |
F32 | GetPower () const noexcept |
void | SetPower (F32 power) noexcept |
const RGB | GetPowerSpectrum () const noexcept |
F32 | GetIntensity () const noexcept |
void | SetIntensity (F32 intensity) noexcept |
const RGB | GetIntensitySpectrum () const noexcept |
const AABB & | GetAABB () const noexcept |
const BoundingSphere & | GetBoundingSphere () const noexcept |
F32 | GetRange () const noexcept |
F32 | GetWorldRange () const noexcept |
void | SetRange (F32 range) noexcept |
F32 | GetStartAngularCutoff () const noexcept |
void | SetStartAngularCutoff (F32 cos_penumbra) noexcept |
F32 | GetEndAngularCutoff () const noexcept |
void | SetEndAngularCutoff (F32 cos_umbra) noexcept |
void | SetAngularCutoff (F32 cos_penumbra, F32 cos_umbra) noexcept |
F32 | GetRangeAngularCutoff () const noexcept |
F32 | GetPenumbraAngle () const noexcept |
void | SetPenumbraAngle (F32 penumbra) noexcept |
F32 | GetUmbraAngle () const noexcept |
void | SetUmbraAngle (F32 umbra) noexcept |
void | SetPenumbraAndUmbraAngles (F32 penumbra, F32 umbra) noexcept |
bool | UseShadows () const noexcept |
void | EnableShadows () noexcept |
void | DissableShadows () noexcept |
void | ToggleShadows () noexcept |
void | SetShadows (bool shadows) noexcept |
const F32x2 | GetClippingPlanes () const noexcept |
void | SetClippingPlanes (F32x2 clipping_planes) noexcept |
F32 | GetFOV () const noexcept |
const XMMATRIX XM_CALLCONV | GetLightToProjectionMatrix () const noexcept |
![]() | |
virtual | ~Component () |
Component & | operator= (const Component &component) noexcept |
Component & | operator= (Component &&component) noexcept |
State | GetState () const noexcept |
void | SetState (State state) noexcept |
U64 | GetGuid () const noexcept |
bool | HasOwner () const noexcept |
ProxyPtr< Node > | GetOwner () noexcept |
ProxyPtr< const Node > | GetOwner () const noexcept |
Private Member Functions | |
void | UpdateBoundingVolumes () noexcept |
Private Attributes | |
bool | m_shadows |
AABB | m_aabb |
BoundingSphere | m_sphere |
RGB | m_base_color |
F32 | m_intensity |
F32x2 | m_clipping_planes |
F32 | m_cos_penumbra |
F32 | m_cos_umbra |
Additional Inherited Members | |
![]() | |
Component () noexcept | |
Component (const Component &component) noexcept | |
Component (Component &&component) noexcept | |
A class of spotlights.
|
noexcept |
Constructs a spotlight.
|
defaultnoexcept |
Constructs a spotlight from the given spotlight.
[in] | light | A reference to the spotlight to copy. |
|
defaultnoexcept |
Constructs a spotlight by moving the given spotlight.
[in] | light | A reference to the spotlight to move. |
|
virtualdefault |
Destructs this spotlight.
|
noexcept |
Dissables shadows for this spotlight.
|
noexcept |
Enables shadows for this spotlight.
|
noexcept |
|
noexcept |
Returns the (linear) base color of this omni light.
|
noexcept |
Returns the (linear) base color of this omni light.
|
noexcept |
Returns the BoundingSphere of this spotlight.
|
noexcept |
Returns the clipping planes of this spotlight expressed in light space.
|
noexcept |
Returns the cosine of the umbra angle of this spotlight.
|
noexcept |
Returns the (horizontal and vertical) field-of-view of this spotlight.
|
noexcept |
Returns the radiant intensity of this spotlight.
|
noexcept |
Returns the radiant intensity spectrum of this spotlight.
|
noexcept |
Returns the light-to-projection matrix of the light camera of this spot light.
|
noexcept |
Returns the penumbra angle (in radians) of this spotlight.
|
noexcept |
Returns the power of this spotlight.
|
noexcept |
Returns the power spectrum of this spotlight.
|
noexcept |
Returns the range of this spotlight expressed in light space.
|
noexcept |
Returns the cosine range where intensity attenuation occurs of this spotlight.
|
noexcept |
Returns the cosine of the penumbra angle of this spotlight.
|
noexcept |
Returns the umbra angle (in radians) of this spotlight.
|
noexcept |
Returns the range of this spotlight expressed in world space.
Copies the given spotlight to this spotlight.
[in] | light | A reference to the spotlight to copy. |
Moves the given spotlight to this spotlight.
[in] | light | A reference to the spotlight to move. |
Sets the cosine of the penumbra and umbra angles of this spotlight to the given values.
[in] | cos_penumbra | The cosine of the penumbra angle. |
[in] | cos_umbra | The cosine of the umbra angle. |
|
noexcept |
Sets the clipping planes of this spotlight expressed in light space to the given clipping planes.
[in] | clipping_planes | The clipping planes. |
|
noexcept |
Sets the cosine of the umbra angle of this spotlight to the given value.
[in] | cos_umbra | The cosine of the umbra angle. |
|
noexcept |
Sets the radiant intensity of this spotlight to the given radial intensity.
[in] | intensity | The radiant intensity in watts per steradians. |
Sets the penumbra and umbra angles (in radians) of this spotlight to the given values.
[in] | penumbra | The penumbra angle (in radians). |
[in] | umbra | The umbra angle (in radians). |
|
noexcept |
Sets the penumbra angle (in radians) of this spotlight to the given value (in radians).
[in] | penumbra | The penumbra angle (in radians). |
|
noexcept |
Sets the power of this omni light to the given radiance.
[in] | power | The power in watts. |
|
noexcept |
Sets the range of this spotlight to the given value expressed in light space.
[in] | range | The range expressed in light space. |
|
noexcept |
Sets shadows for this spotlight to the given value.
[in] | shadows | true if shadows should be used for this spotlight. false otherwise. |
|
noexcept |
Sets the cosine of the penumbra angle of this spotlight to the given value.
[in] | cos_penumbra | The cosine of the penumbra angle. |
|
noexcept |
Sets the umbra angle (in radians) of this spotlight to the given value.
[in] | umbra | The umbra angle (in radians). |
|
noexcept |
Toggles shadows for this spotlight.
|
privatenoexcept |
Updates the bounding volumes of this spotlight.
|
noexcept |
Checks whether shadows should be used for this spotlight.
true
if shadows should be used for this spotlight. false
otherwise.
|
private |
The (linear) base color of this spotlight.
|
private |
The clipping planes of this spotlight expressed in light space.
|
private |
The cosine of the penumbra angle of this spotlight.
|
private |
The cosine of the umbra angle of this spotlight.
|
private |
The radiant intensity in watts per steradians of this spotlight.
|
private |
A flag indicating whether shadows should be calculated or not for this spotlight.
|
private |
The BoundingSphere of this spotlight.