Castor3D 0.16.0
Multiplatform 3D engine
|
#include <Light.hpp>
Fonctions membres publiques | |
C3D_API | Light (castor::String const &name, Scene &scene, SceneNode &node, LightFactory &factory, LightType lightType) |
Constructeur. | |
C3D_API void | update (CpuUpdater &updater) |
Mise à jour CPU. | |
C3D_API void | fillLightBuffer (uint32_t index, VkDeviceSize offset, castor::Point4f *data) |
Enregistre les données de la source lumineuse dans le tampon donné. | |
C3D_API void | fillShadowBuffer (AllShadowData &data) |
Enregistre les données de la source lumineuse dans le tampon donné. | |
C3D_API void | accept (ConfigurationVisitorBase &vis) |
Fonction d'acceptation de ConfigurationVisitorBase. | |
C3D_API DirectionalLightRPtr | getDirectionalLight () const |
C3D_API PointLightRPtr | getPointLight () const |
C3D_API SpotLightRPtr | getSpotLight () const |
LightType | getLightType () const |
uint32_t | getLightComponentCount () const |
uint32_t | getShadowComponentCount () const |
bool | isEnabled () const |
castor::Point3f const & | getColour () const |
castor::Point2f const & | getIntensity () const |
float | getFarPlane () const |
float | getDiffuseIntensity () const |
float | getSpecularIntensity () const |
castor::BoundingBox const & | getBoundingBox () const |
LightCategoryRPtr | getCategory () const |
bool | isShadowProducer () const |
bool | isExpectedShadowProducer () const |
ShadowType | getShadowType () const |
ShadowMapRPtr | getShadowMap () const |
int32_t | getShadowMapIndex () const |
uint32_t | getBufferIndex () const |
VkDeviceSize | getBufferOffset () const |
bool | needsRsmShadowMaps () const |
GlobalIlluminationType | getGlobalIlluminationType () const |
GlobalIlluminationType | getExpectedGlobalIlluminationType () const |
LpvConfig const & | getLpvConfig () const |
LpvConfig & | getLpvConfig () |
uint32_t | getVolumetricSteps () const |
float | getVolumetricScatteringFactor () const |
castor::Point2f const & | getShadowRawOffsets () const |
castor::Point2f const & | getShadowPcfOffsets () const |
float | getVsmMinVariance () const |
float | getVsmLightBleedingReduction () const |
castor::RangedValue< uint32_t > | getShadowPcfFilterSize () const |
castor::RangedValue< uint32_t > | getShadowPcfSampleCount () const |
ShadowConfig const & | getShadowConfig () const |
ShadowConfig & | getShadowConfig () |
void | setColour (float const *values) |
void | setColour (float r, float g, float b) |
void | setColour (castor::Point3f const &value) |
void | setColour (castor::RgbColour const &value) |
void | setIntensity (float const *values) |
void | setIntensity (float d, float s) |
void | setIntensity (castor::Point2f const &value) |
void | setDiffuseIntensity (float value) |
void | setSpecularIntensity (float value) |
void | setEnabled (bool value) |
void | enable () |
void | disable () |
void | setShadowConfig (ShadowConfig config) |
void | setShadowMapIndex (int32_t index) |
void | setShadowMap (ShadowMapRPtr value, int32_t index=-1) |
void | setGlobalIlluminationType (GlobalIlluminationType value) |
void | setShadowType (ShadowType value) |
void | setVolumetricSteps (uint32_t value) |
void | setVolumetricScatteringFactor (float value) |
void | setRawMinOffset (float value) |
void | setRawMaxSlopeOffset (float value) |
void | setPcfMinOffset (float value) |
void | setPcfMaxSlopeOffset (float value) |
void | setPcfFilterSize (uint32_t value) |
void | setPcfSampleCount (uint32_t value) |
void | setVsmMinVariance (float value) |
void | setVsmLightBleedingReduction (float value) |
Fonctions membres publiques hérités de castor3d::MovableObject | |
C3D_API | MovableObject (castor::String const &name, Scene &scene, MovableType type, SceneNode &node) |
Constructeur. | |
C3D_API | MovableObject (castor::String const &name, Scene &scene, MovableType type) |
Constructeur. | |
virtual C3D_API | ~MovableObject () noexcept |
Destructeur. | |
C3D_API void | detach () |
Détache l'objet de son parent. | |
virtual C3D_API void | attachTo (SceneNode &node) |
Attache l'object à un noeud. | |
C3D_API void | markDirty () |
Ajout l'objet à la liste des objets à mettre à jour de la scène. | |
C3D_API EngineRPtr | getEngine () const noexcept |
SceneNode * | getParent () const noexcept |
MovableType | getMovableType () const noexcept |
Fonctions membres publiques hérités de castor::OwnedBy< Scene > | |
Scene * | getOwner () const |
L'objet propriétaire. | |
Fonctions membres publiques hérités de castor::NamedBaseT< T > | |
NamedBaseT (T name) noexcept | |
Constructeur. | |
T const & | getName () const noexcept |
Récupère le nom. | |
void | rename (T name) noexcept |
Attributs publics | |
OnLightChanged | onGPUChanged |
Attributs protégés | |
bool | m_enabled {} |
std::atomic_bool | m_currentShadowCaster {} |
bool | m_dirty { true } |
ShadowConfig | m_shadows |
LightCategoryUPtr | m_category |
ShadowMapRPtr | m_shadowMap {} |
int32_t | m_shadowMapIndex { -1 } |
std::atomic< GlobalIlluminationType > | m_currentGlobalIllumination {} |
uint32_t | m_bufferIndex { InvalidIndex } |
VkDeviceSize | m_bufferOffset {} |
Attributs protégés hérités de castor3d::MovableObject | |
MovableType | m_type |
SceneNode * | m_sceneNode {} |
OnSceneNodeChangedConnection | m_notifyIndex |
Attributs protégés hérités de castor::NamedBaseT< T > | |
T | m_name |
Membres hérités additionnels | |
Fonctions membres protégées hérités de castor::OwnedBy< Scene > | |
OwnedBy (Scene &owner) | |
Constructeur. | |
C3D_API castor3d::Light::Light | ( | castor::String const & | name, |
Scene & | scene, | ||
SceneNode & | node, | ||
LightFactory & | factory, | ||
LightType | lightType ) |
Constructeur.
[in] | name | Le nom de la lumière. |
[in] | scene | La scène parente. |
[in] | node | Le scene node parent. |
[in] | factory | La fabrique de LightCategory. |
[in] | lightType | Le type de lumière. |
C3D_API void castor3d::Light::accept | ( | ConfigurationVisitorBase & | vis | ) |
Fonction d'acceptation de ConfigurationVisitorBase.
vis | Le ... visiteur. |
|
inline |
|
inline |
C3D_API void castor3d::Light::fillLightBuffer | ( | uint32_t | index, |
VkDeviceSize | offset, | ||
castor::Point4f * | data ) |
Enregistre les données de la source lumineuse dans le tampon donné.
[in] | index | L'index de la source lumineuse dans le buffer. |
[in] | offset | L'offset des données de la source lumineuse dans le buffer. |
[out] | data | Reçoit les informations. |
C3D_API void castor3d::Light::fillShadowBuffer | ( | AllShadowData & | data | ) |
Enregistre les données de la source lumineuse dans le tampon donné.
[out] | data | Reçoit les informations. |
|
inline |
Références m_category.
|
inline |
Références m_bufferIndex.
|
inline |
Références m_bufferOffset.
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
C3D_API DirectionalLightRPtr castor3d::Light::getDirectionalLight | ( | ) | const |
name Accesseurs.
|
inline |
Références castor3d::ShadowConfig::globalIllumination, et m_shadows.
|
inline |
Références m_category.
|
inline |
Références m_currentGlobalIllumination.
Référencé par needsRsmShadowMaps().
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références castor3d::ShadowConfig::lpvConfig, et m_shadows.
|
inline |
Références castor3d::ShadowConfig::lpvConfig, et m_shadows.
C3D_API PointLightRPtr castor3d::Light::getPointLight | ( | ) | const |
|
inline |
Références m_category.
|
inline |
Références m_shadows.
|
inline |
Références m_shadows.
|
inline |
Références m_shadowMap.
|
inline |
Références m_shadowMapIndex.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfFilterSize.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfOffsets.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfSampleCount.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::rawOffsets.
|
inline |
Références castor3d::ShadowConfig::filterType, et m_shadows.
|
inline |
Références m_category.
C3D_API SpotLightRPtr castor3d::Light::getSpotLight | ( | ) | const |
|
inline |
Références m_shadows, et castor3d::ShadowConfig::volumetricScattering.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::volumetricSteps.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::vsmLightBleedingReduction.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::vsmMinVariance.
|
inline |
Références m_enabled.
|
inline |
Références castor3d::ShadowConfig::enabled, et m_shadows.
|
inline |
Références m_currentShadowCaster.
|
inline |
Références castor3d::eNone, castor3d::eVoxelConeTracing, et getGlobalIlluminationType().
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
name Mutateurs.
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
|
inline |
Références castor3d::ShadowConfig::globalIllumination, m_shadows, et castor3d::MovableObject::markDirty().
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfFilterSize.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfOffsets.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfOffsets.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::pcfSampleCount.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::rawOffsets.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::rawOffsets.
|
inline |
Références m_shadows, et castor3d::MovableObject::markDirty().
|
inline |
Références m_shadowMap, m_shadowMapIndex, et onGPUChanged.
|
inline |
Références m_shadowMapIndex, et onGPUChanged.
|
inline |
Références castor3d::ShadowConfig::filterType, et m_shadows.
|
inline |
Références m_category.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::volumetricScattering.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::volumetricSteps.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::vsmLightBleedingReduction.
|
inline |
Références m_shadows, et castor3d::ShadowConfig::vsmMinVariance.
C3D_API void castor3d::Light::update | ( | CpuUpdater & | updater | ) |
Mise à jour CPU.
[in,out] | updater | Les données d'update. |
|
protected |
Référencé par getBufferIndex().
|
protected |
Référencé par getBufferOffset().
|
protected |
Référencé par getBoundingBox(), getCategory(), getColour(), getDiffuseIntensity(), getFarPlane(), getIntensity(), getLightComponentCount(), getLightType(), getShadowComponentCount(), getSpecularIntensity(), setColour(), setColour(), setColour(), setColour(), setDiffuseIntensity(), setIntensity(), setIntensity(), setIntensity(), et setSpecularIntensity().
|
protected |
Référencé par getGlobalIlluminationType().
|
protected |
Référencé par isShadowProducer().
|
protected |
|
protected |
Référencé par isEnabled(), et setEnabled().
|
protected |
Référencé par getShadowMap(), et setShadowMap().
|
protected |
Référencé par getShadowMapIndex(), setShadowMap(), et setShadowMapIndex().
|
protected |
Référencé par getExpectedGlobalIlluminationType(), getLpvConfig(), getLpvConfig(), getShadowConfig(), getShadowConfig(), getShadowPcfFilterSize(), getShadowPcfOffsets(), getShadowPcfSampleCount(), getShadowRawOffsets(), getShadowType(), getVolumetricScatteringFactor(), getVolumetricSteps(), getVsmLightBleedingReduction(), getVsmMinVariance(), isExpectedShadowProducer(), setGlobalIlluminationType(), setPcfFilterSize(), setPcfMaxSlopeOffset(), setPcfMinOffset(), setPcfSampleCount(), setRawMaxSlopeOffset(), setRawMinOffset(), setShadowConfig(), setShadowType(), setVolumetricScatteringFactor(), setVolumetricSteps(), setVsmLightBleedingReduction(), et setVsmMinVariance().
OnLightChanged castor3d::Light::onGPUChanged |
Référencé par setShadowMap(), et setShadowMapIndex().