StevEngine
StevEngine is a customizable C++ game engine.
Loading...
Searching...
No Matches
StevEngine::Visuals::SpotLight Class Referencefinal

Spot light for cone-shaped directional lighting. More...

#include <visuals/Lights.hpp>

Inheritance diagram for StevEngine::Visuals::SpotLight:
StevEngine::Visuals::Light StevEngine::Component

Public Member Functions

 SpotLight (Utilities::Vector3 diffuse=Utilities::Vector3(1.0), Utilities::Vector3 specular=Utilities::Vector3(1.0), float cutOff=12.5, float outerCutOff=17.5)
 Create spot light.
 
 SpotLight (Utilities::Stream &stream)
 Create spot light from text serialized data.
 
std::string GetType () const
 Get component type.
 
Utilities::Stream Export (Utilities::StreamType type) const
 Serialize component to a stream.
 
void UpdateShader (const Renderer::ShaderProgram &program) const
 Update shader uniforms for this light.
 
void ResetShader (const Renderer::ShaderProgram &program) const
 Reset shader uniforms for this light.
 
- Public Member Functions inherited from StevEngine::Visuals::Light
uint32_t GetShaderLightID () const
 Get shader light ID.
 
- Public Member Functions inherited from StevEngine::Component
 Component ()
 Create new component.
 
virtual ~Component ()
 Clean up component resources.
 
GameObjectGetParent () const
 Get parent GameObject.
 
SceneGetScene () const
 Get containing Scene.
 
virtual void Start ()
 Initialize component after creation.
 

Public Attributes

float cutOff
 Inner cone angle in degrees.
 
float outerCutOff
 Outer cone angle in degrees.
 
- Public Attributes inherited from StevEngine::Visuals::Light
Utilities::Vector3 diffuse
 Diffuse light color.
 
Utilities::Vector3 specular
 Specular light color.
 

Additional Inherited Members

- Protected Member Functions inherited from StevEngine::Visuals::Light
 Light (uint32_t shaderID, Utilities::Vector3 diffuse, Utilities::Vector3 specular, std::string type)
 
 Light (Utilities::Stream &stream, std::string type)
 
- Protected Attributes inherited from StevEngine::Visuals::Light
const uint32_t shaderLightID
 Light index in shader.
 
- Protected Attributes inherited from StevEngine::Component
std::vector< std::pair< Utilities::ID, std::string > > handlers
 Event handler registrations.
 

Detailed Description

Spot light for cone-shaped directional lighting.

Light emanates in a cone from a point. Has inner and outer cone angles for smooth edges.

Constructor & Destructor Documentation

◆ SpotLight() [1/2]

StevEngine::Visuals::SpotLight::SpotLight ( Utilities::Vector3 diffuse = Utilities::Vector3(1.0),
Utilities::Vector3 specular = Utilities::Vector3(1.0),
float cutOff = 12.5,
float outerCutOff = 17.5 )

Create spot light.

Parameters
diffuseDiffuse light color
specularSpecular light color
cutOffInner cone angle in degrees
outerCutOffOuter cone angle in degrees

◆ SpotLight() [2/2]

StevEngine::Visuals::SpotLight::SpotLight ( Utilities::Stream & stream)

Create spot light from text serialized data.

Parameters
streamStream containing serialized component data

Member Function Documentation

◆ Export()

Utilities::Stream StevEngine::Visuals::SpotLight::Export ( Utilities::StreamType type) const
virtual

Serialize component to a stream.

Parameters
typeType of stream to export to
Returns
Serialized stream

Implements StevEngine::Component.

◆ GetType()

std::string StevEngine::Visuals::SpotLight::GetType ( ) const
inlinevirtual

Get component type.

Returns
Type identifier string

Implements StevEngine::Component.

◆ ResetShader()

void StevEngine::Visuals::SpotLight::ResetShader ( const Renderer::ShaderProgram & program) const
virtual

Reset shader uniforms for this light.

Parameters
programShader program to reset

Implements StevEngine::Visuals::Light.

◆ UpdateShader()

void StevEngine::Visuals::SpotLight::UpdateShader ( const Renderer::ShaderProgram & program) const
virtual

Update shader uniforms for this light.

Parameters
programShader program to update

Implements StevEngine::Visuals::Light.


The documentation for this class was generated from the following files: