StevEngine
StevEngine is a customizable C++ game engine.
|
Point light for omni-directional lighting. More...
#include <visuals/Lights.hpp>
Public Member Functions | |
PointLight (Utilities::Vector3 diffuse=Utilities::Vector3(1.0), Utilities::Vector3 specular=Utilities::Vector3(1.0), float constant=1.0, float linear=0.02, float quadratic=0.0017) | |
Create point light. | |
PointLight (Utilities::Stream &stream) | |
Create point 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. | |
![]() | |
uint32_t | GetShaderLightID () const |
Get shader light ID. | |
![]() | |
Component () | |
Create new component. | |
virtual | ~Component () |
Clean up component resources. | |
GameObject & | GetParent () const |
Get parent GameObject. | |
Scene & | GetScene () const |
Get containing Scene. | |
virtual void | Start () |
Initialize component after creation. | |
Public Attributes | |
float | constant |
Constant attenuation factor. | |
float | linear |
Linear attenuation factor. | |
float | quadratic |
Quadratic attenuation factor. | |
![]() | |
Utilities::Vector3 | diffuse |
Diffuse light color. | |
Utilities::Vector3 | specular |
Specular light color. | |
Additional Inherited Members | |
![]() | |
Light (uint32_t shaderID, Utilities::Vector3 diffuse, Utilities::Vector3 specular, std::string type) | |
Light (Utilities::Stream &stream, std::string type) | |
![]() | |
const uint32_t | shaderLightID |
Light index in shader. | |
![]() | |
std::vector< std::pair< Utilities::ID, std::string > > | handlers |
Event handler registrations. | |
Point light for omni-directional lighting.
Light emanates in all directions from a point. Intensity diminishes with distance based on attenuation.
StevEngine::Visuals::PointLight::PointLight | ( | Utilities::Vector3 | diffuse = Utilities::Vector3(1.0), |
Utilities::Vector3 | specular = Utilities::Vector3(1.0), | ||
float | constant = 1.0, | ||
float | linear = 0.02, | ||
float | quadratic = 0.0017 ) |
Create point light.
diffuse | Diffuse light color |
specular | Specular light color |
constant | Constant attenuation factor |
linear | Linear attenuation factor |
quadratic | Quadratic attenuation factor |
StevEngine::Visuals::PointLight::PointLight | ( | Utilities::Stream & | stream | ) |
Create point light from text serialized data.
stream | Stream containing serialized component data |
|
virtual |
Serialize component to a stream.
type | Type of stream to export to |
Implements StevEngine::Component.
|
inlinevirtual |
|
virtual |
Reset shader uniforms for this light.
program | Shader program to reset |
Implements StevEngine::Visuals::Light.
|
virtual |
Update shader uniforms for this light.
program | Shader program to update |
Implements StevEngine::Visuals::Light.