Castor3D 0.16.0
Multiplatform 3D engine
|
#include <DirectionalLight.hpp>
Public Types | |
using | Cascade = DirectionalLightCascade |
using | ShadowData = DirectionalShadowData |
using | LightData = LightCategory::LightData |
Public Member Functions | |
C3D_API void | update () override |
Updates the light. | |
C3D_API bool | updateShadow (Camera const &sceneCamera) |
Updates the shadow cascades informations. | |
C3D_API void | fillShadowBuffer (AllShadowData &data) const override |
Puts the shadow data into the given buffer. | |
castor::Point3f const & | getDirection () const |
float | getSplitDepth (uint32_t cascadeIndex) const |
float | getSplitScale (uint32_t cascadeIndex) const |
castor::Matrix4x4f const & | getProjMatrix (uint32_t cascadeIndex) const |
castor::Matrix4x4f const & | getViewMatrix (uint32_t cascadeIndex) const |
castor::Matrix4x4f const & | getLightSpaceTransform (uint32_t cascadeIndex) const |
Public Member Functions inherited from castor3d::LightCategory | |
virtual C3D_API | ~LightCategory () noexcept=default |
Destructor. | |
C3D_API void | fillLightBuffer (castor::Point4f *data) const |
Puts the light into the given buffer. | |
C3D_API void | accept (ConfigurationVisitorBase &vis) |
ConfigurationVisitorBase acceptance function. | |
C3D_API uint32_t | getVolumetricSteps () const |
C3D_API float | getVolumetricScatteringFactor () const |
C3D_API castor::Point2f const & | getShadowRawOffsets () const |
C3D_API castor::Point2f const & | getShadowPcfOffsets () const |
C3D_API float | getVsmMinVariance () const |
C3D_API float | getVsmLightBleedingReduction () const |
C3D_API castor::RangedValue< uint32_t > | getShadowPcfFilterSize () const |
C3D_API castor::RangedValue< uint32_t > | getShadowPcfSampleCount () const |
C3D_API ShadowConfig const & | getShadowConfig () const |
C3D_API LpvConfig const & | getLpvConfig () const |
LightType | getLightType () const |
uint32_t | getLightComponentCount () const |
uint32_t | getShadowComponentCount () const |
float | getDiffuseIntensity () const |
float | getSpecularIntensity () const |
castor::Point2f const & | getIntensity () const |
float | getFarPlane () const |
castor::Point3f const & | getColour () const |
Light const & | getLight () const |
castor::BoundingBox const & | getBoundingBox () const |
C3D_API void | setVolumetricSteps (uint32_t value) |
C3D_API void | setVolumetricScatteringFactor (float value) |
C3D_API void | setRawMinOffset (float value) |
C3D_API void | setRawMaxSlopeOffset (float value) |
C3D_API void | setPcfMinOffset (float value) |
C3D_API void | setPcfMaxSlopeOffset (float value) |
C3D_API void | setPcfFilterSize (uint32_t value) |
C3D_API void | setPcfSampleCount (uint32_t value) |
C3D_API void | setVsmMinVariance (float value) |
C3D_API void | setVsmLightBleedingReduction (float value) |
C3D_API void | setColour (castor::Point3f const &value) |
C3D_API void | setIntensity (castor::Point2f const &value) |
C3D_API void | setDiffuseIntensity (float value) |
C3D_API void | setSpecularIntensity (float value) |
Light & | getLight () |
castor::Point3f & | getColour () |
castor::Point2f & | getIntensity () |
Static Public Member Functions | |
static C3D_API LightCategoryUPtr | create (Light &light) |
Creation function, used by Factory. | |
Static Public Attributes | |
static constexpr uint32_t | ShadowDataSize = uint32_t( ashes::getAlignedSize( sizeof( ShadowData ), LightMbrAlign ) ) |
static constexpr uint32_t | ShadowDataComponents = ShadowDataSize / LightMbrAlign |
static constexpr uint32_t | LightDataSize = uint32_t( ashes::getAlignedSize( sizeof( LightData ), LightMbrAlign ) ) |
static constexpr uint32_t | LightDataComponents = LightDataSize / LightMbrAlign |
Static Public Attributes inherited from castor3d::LightCategory | |
static uint32_t constexpr | LightMbrAlign = 4u * sizeof( float ) |
Friends | |
class | Scene |
Additional Inherited Members | |
Protected Member Functions inherited from castor3d::LightCategory | |
C3D_API | LightCategory (LightType lightType, Light &light, uint32_t lightComponentCount, uint32_t shadowComponentCount) |
Constructor. | |
C3D_API void | doFillBaseShadowData (BaseShadowData &data) const |
Puts the shadow data into the given buffer. | |
Protected Attributes inherited from castor3d::LightCategory | |
castor::BoundingBox | m_cubeBox |
float | m_farPlane { 1.0f } |
|
overridevirtual |
Puts the shadow data into the given buffer.
[out] | data | Receives the light's shadow data. |
Implements castor3d::LightCategory.
|
inline |
name Getters.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Updates the light.
Implements castor3d::LightCategory.
Updates the shadow cascades informations.
[in] | sceneCamera | The viewer camera. |
false
if nothing changed.
|
friend |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |