VoxelEngine
 
Loading...
Searching...
No Matches
engine::Sun Class Reference
Inheritance diagram for engine::Sun:
engine::Updateable

Classes

struct  Cascade
 

Public Member Functions

 Sun (glm::ivec2 resolution, const Camera *target, const glm::vec3 &direction=glm::vec3(0.0f, -1.0f, 0.0f))
 
void setTarget (const Camera *target)
 
void setDirection (const glm::vec3 &direction)
 
void setLightColor (const glm::vec3 &color, float intensity)
 
glm::vec3 lightPosition (glm::vec3 &outLookAtPos) const
 
glm::vec3 direction () const
 
glm::vec3 lightColor () const
 
float lightIntensity () const
 
glm::ivec2 resolution () const
 
void update (float dt) override
 
const std::vector< Cascade > & cascadeSplits () const
 
gl::TextureRef cascadeShadowMaps () const
 
const gl::FBO * shadowFBO () const
 
MaterialshadowMaterial ()
 

Static Public Attributes

static float DistanceFromTarget = 512.0f
 

Protected Member Functions

void calculateLightSpaceMatrices ()
 

Protected Attributes

std::vector< Cascadem_cascadeSplits
 
glm::ivec2 m_resolution
 
const Cameram_target
 
glm::vec3 m_direction
 
gl::UBO m_lightSpaceUBO
 
gl::FBO m_depthFBO
 
Material m_depthShader
 
glm::vec3 m_lightColor = glm::vec3(1.0f, 1.0f, 1.0f)
 
float m_lightIntensity = 1.0f
 

Member Function Documentation

◆ update()

void Sun::update ( float  dt)
overridevirtual

Implements engine::Updateable.

Member Data Documentation

◆ m_cascadeSplits

std::vector<Cascade> engine::Sun::m_cascadeSplits
protected
Initial value:
= {
Cascade{16.0f, glm::mat4(1)},
Cascade{64.0f, glm::mat4(1)},
Cascade{128.0f, glm::mat4(1)},
Cascade{256.0f, glm::mat4(1)}
}
Definition Sun.h:27

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