|
SleakEngine 1.0.0
C++23 multi-backend game engine
|
#include <SpotLight.hpp>
Public Member Functions | |
| SpotLight (const std::string &name="SpotLight") | |
| ~SpotLight () override=default | |
| RenderEngine::LightGPUEntry | BuildGPUData () const override |
| Packs this light's parameters into the GPU-side entry used by the lighting constant buffer. | |
| Math::Vector3D | GetDirection () const |
| float | GetInnerConeAngle () const |
| float | GetOuterConeAngle () const |
| Math::Vector3D | GetPosition () const |
| float | GetRange () const |
| void | SetDirection (const Math::Vector3D &dir) |
| void | SetInnerConeAngle (float degrees) |
| void | SetOuterConeAngle (float degrees) |
| void | SetPosition (const Math::Vector3D &pos) |
| void | SetRange (float range) |
| Public Member Functions inherited from Sleak::Light | |
| Light (const std::string &name="Light") | |
| ~Light () override=default | |
| bool | GetCastShadows () const |
| Math::Vector3D | GetColor () const |
| float | GetIntensity () const |
| float | GetLightSize () const |
| float | GetShadowBias () const |
| float | GetShadowNormalBias () const |
| float | GetShadowStrength () const |
| bool | IsEnabled () const |
| bool | IsLight () const override |
| void | SetCastShadows (bool cast) |
| void | SetColor (const Math::Color &color) |
| void | SetColor (float r, float g, float b) |
| void | SetEnabled (bool enabled) |
| void | SetIntensity (float intensity) |
| void | SetLightSize (float size) |
| void | SetShadowBias (float bias) |
| void | SetShadowNormalBias (float bias) |
| void | SetShadowStrength (float strength) |
| Public Member Functions inherited from Sleak::GameObject | |
| GameObject (const std::string &name="GameObject") | |
| ~GameObject () override | |
| void | AddChild (GameObject *child) |
| template<typename T, typename... Args> | |
| void | AddComponent (Args &&... args) |
| Constructs and attaches a component of type T. Warns and no-ops if one already exists. | |
| virtual void | FixedUpdate (float fixedDeltaTime) |
| const List< GameObject * > & | GetChildren () const |
| template<typename T> | |
| T * | GetComponent () |
| Finds the first attached component of type T, or nullptr. | |
| GameObject * | GetParent () const |
| const std::string & | GetTag () const |
| bool | HasChildren () const |
| template<typename T> | |
| bool | HasComponent () |
| True if a component of type T is attached. | |
| bool | HasParent () const |
| virtual void | Initialize () |
| Initializes the object and its components; called once before the first Update. | |
| bool | IsActive () const |
| bool | IsPendingDestroy () const |
| virtual void | LateUpdate (float deltaTime) |
| void | MarkForDestroy () |
| Flags the object for deferred destruction on the next scene pass. | |
| void | RemoveChild (GameObject *child) |
| template<typename T> | |
| void | RemoveComponent () |
| Destroys and detaches the first component of type T, if present. | |
| void | SetActive (bool active) |
| Enables or disables the object, firing OnEnable/OnDisable on its components. | |
| void | SetParent (GameObject *parent) |
| Reparents this object, updating both the old and new parent's child lists. | |
| void | SetTag (const std::string &tag) |
| virtual void | Update (float deltaTime) |
| Public Member Functions inherited from Sleak::Object | |
| Object (const std::string &name="Object") | |
| virtual | ~Object ()=default |
| const std::string & | GetName () const |
| uint64_t | GetUniqueID () const |
| void | SetName (const std::string &value) |
Additional Inherited Members | |
| Static Public Member Functions inherited from Sleak::GameObject | |
| static GameObject * | CreateCapsule (Math::Vector3D position, int segments=16, int rings=8, float height=1, float radius=0.5) |
| static GameObject * | CreateCube (Math::Vector3D position) |
| static GameObject * | CreateCylinder (Math::Vector3D position, int segments=16, float height=1, float radius=0.5) |
| static GameObject * | CreatePlane (Math::Vector3D position, int width=100, int height=100) |
| Built-in primitive factories, mainly for prototyping and debug scenes. | |
| static GameObject * | CreateSphere (Math::Vector3D position, int stack=16, int slices=16) |
| static GameObject * | CreateTorus (Math::Vector3D position, int segments=16, int rings=8, float innerRadius=8, float outerRadius=9) |
| Protected Attributes inherited from Sleak::Light | |
| bool | m_castShadows = false |
| Math::Vector3D | m_color {1.0f, 1.0f, 1.0f} |
| float | m_intensity = 1.0f |
| bool | m_lightEnabled = true |
| float | m_lightSize = 1.0f |
| float | m_shadowBias = 0.005f |
| float | m_shadowNormalBias = 0.02f |
| float | m_shadowStrength = 1.0f |
| Protected Attributes inherited from Sleak::GameObject | |
| bool | bIsInitialized |
Cone light with separate inner/outer cone angles for a soft penumbra edge.
Definition at line 15 of file SpotLight.hpp.
|
explicit |
Definition at line 6 of file SpotLight.cpp.
|
overridedefault |
|
overridevirtual |
Packs this light's parameters into the GPU-side entry used by the lighting constant buffer.
Implements Sleak::Light.
Definition at line 8 of file SpotLight.cpp.
|
inline |
Definition at line 31 of file SpotLight.hpp.
|
inline |
Definition at line 40 of file SpotLight.hpp.
|
inline |
Definition at line 45 of file SpotLight.hpp.
|
inline |
Definition at line 25 of file SpotLight.hpp.
|
inline |
Definition at line 34 of file SpotLight.hpp.
|
inline |
Definition at line 27 of file SpotLight.hpp.
|
inline |
Definition at line 37 of file SpotLight.hpp.
|
inline |
Definition at line 42 of file SpotLight.hpp.
|
inline |
Definition at line 22 of file SpotLight.hpp.
|
inline |
Definition at line 33 of file SpotLight.hpp.