Castor3D 0.16.0
Multiplatform 3D engine
|
#include <DirectionalLight.hpp>
Types publics | |
using | Cascade = DirectionalLightCascade |
using | ShadowData = DirectionalShadowData |
using | LightData = LightCategory::LightData |
Fonctions membres publiques | |
C3D_API void | update () override |
Met la source à jour. | |
C3D_API bool | updateShadow (Camera const &sceneCamera) |
Met à jour les information de shadow cascades. | |
C3D_API void | fillShadowBuffer (AllShadowData &data) const override |
Met les données d'ombre dans le buffer donné. | |
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 |
Fonctions membres publiques hérités de castor3d::LightCategory | |
virtual C3D_API | ~LightCategory () noexcept=default |
Destructeur. | |
C3D_API void | fillLightBuffer (castor::Point4f *data) const |
Met la lumière dans le buffer donné. | |
C3D_API void | accept (ConfigurationVisitorBase &vis) |
Fonction d'acceptation de ConfigurationVisitorBase. | |
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 () |
Fonctions membres publiques statiques | |
static C3D_API LightCategoryUPtr | create (Light &light) |
Fonction de création utilisée par Factory. | |
Attributs publics statiques | |
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 |
Attributs publics statiques hérités de castor3d::LightCategory | |
static uint32_t constexpr | LightMbrAlign = 4u * sizeof( float ) |
Amis | |
class | Scene |
Membres hérités additionnels | |
Fonctions membres protégées hérités de castor3d::LightCategory | |
C3D_API | LightCategory (LightType lightType, Light &light, uint32_t lightComponentCount, uint32_t shadowComponentCount) |
Constructeur. | |
C3D_API void | doFillBaseShadowData (BaseShadowData &data) const |
Met les données d'ombre dans le buffer donné. | |
Attributs protégés hérités de castor3d::LightCategory | |
castor::BoundingBox | m_cubeBox |
float | m_farPlane { 1.0f } |
Fonction de création utilisée par Factory.
[in] | light | La Light parente. |
|
overridevirtual |
Met les données d'ombre dans le buffer donné.
[out] | data | Reçoit les données d'ombres de la source lumineuse. |
Implémente castor3d::LightCategory.
|
inline |
name Accesseurs.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Met la source à jour.
Implémente castor3d::LightCategory.
Met à jour les information de shadow cascades.
[in] | sceneCamera | La caméra de la scène. |
false
si rien n'a changé.
|
friend |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |