Castor3D  0.11.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Attributs publics statiques | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::ShadowMapabstract
Graphe d'héritage de castor3d::ShadowMap:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::ShadowMap:
Collaboration graph
[légende]

Classes

struct  PassData
 

Fonctions membres publiques

C3D_API ShadowMap (Scene &scene, LightType lightType, ShadowMapResult result, std::vector< PassData > passes, uint32_t count)
 Constructeur. Plus de détails...
 
virtual C3D_API ~ShadowMap ()=default
 Destructeur. Plus de détails...
 
C3D_API bool initialise (RenderDevice const &device)
 Initialise le frame buffer et les données spécifiques au type de source lumineuse. Plus de détails...
 
C3D_API void cleanup (RenderDevice const &device)
 Nettoie le frame buffer et les données spécifiques au type de source lumineuse. Plus de détails...
 
C3D_API void accept (PipelineVisitorBase &visitor)
 Fonction d'acceptation de visiteur. Plus de détails...
 
virtual C3D_API void update (CpuUpdater &updater)=0
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
virtual C3D_API void update (GpuUpdater &updater)=0
 Met à jour la passe de rendu, au niveau GPU. Plus de détails...
 
C3D_API ashes::Semaphore const & render (RenderDevice const &device, ashes::Semaphore const &toWait, uint32_t index)
 Dessine la shadow map de la lumière. Plus de détails...
 
C3D_API ashes::VkClearValueArray const & getClearValues () const
 
C3D_API ashes::Sampler const & getSampler (SmTexture texture, uint32_t index=0u) const
 
virtual C3D_API ashes::ImageView const & getView (SmTexture texture, uint32_t index=0u) const
 
ShadowMapResult const & getShadowPassResult () const
 
ShadowMapResultgetShadowPassResult ()
 
uint32_t getCount () const
 
bool isInitialised () const
 

Attributs publics statiques

static constexpr TextureFlags textureFlags
 

Attributs protégés

Scenem_scene
 
LightType m_lightType
 
castor::String m_name
 
ashes::FencePtr m_fence
 
std::set< std::reference_wrapper< GeometryBuffers > > m_geometryBuffers
 
std::vector< PassDatam_passes
 
uint32_t m_count
 
ashes::SemaphorePtr m_finished
 
ShadowMapResult m_result
 
bool m_initialised { false }
 

Documentation des constructeurs et destructeur

◆ ShadowMap()

C3D_API castor3d::ShadowMap::ShadowMap ( Scene scene,
LightType  lightType,
ShadowMapResult  result,
std::vector< PassData passes,
uint32_t  count 
)

Constructeur.

Paramètres
[in]sceneLa scène.
[in]lightTypeLe type de source lumineuse.
[in]resultLe résultat de la passe de shadow map.
[in]passesLes passes utilisées pour rendre cette texture.
[in]countLe nombre de passes.

◆ ~ShadowMap()

virtual C3D_API castor3d::ShadowMap::~ShadowMap ( )
virtualdefault

Destructeur.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::ShadowMap::accept ( PipelineVisitorBase visitor)

Fonction d'acceptation de visiteur.

Paramètres
visitorLe visiteur.

◆ cleanup()

C3D_API void castor3d::ShadowMap::cleanup ( RenderDevice const &  device)

Nettoie le frame buffer et les données spécifiques au type de source lumineuse.

Paramètres
[in]deviceLe device GPU.

◆ getClearValues()

C3D_API ashes::VkClearValueArray const& castor3d::ShadowMap::getClearValues ( ) const

name Accesseurs.

◆ getCount()

uint32_t castor3d::ShadowMap::getCount ( ) const
inline

Références m_count.

◆ getSampler()

C3D_API ashes::Sampler const& castor3d::ShadowMap::getSampler ( SmTexture  texture,
uint32_t  index = 0u 
) const

◆ getShadowPassResult() [1/2]

ShadowMapResult const& castor3d::ShadowMap::getShadowPassResult ( ) const
inline

Références m_result.

◆ getShadowPassResult() [2/2]

ShadowMapResult& castor3d::ShadowMap::getShadowPassResult ( )
inline

Références m_result.

◆ getView()

virtual C3D_API ashes::ImageView const& castor3d::ShadowMap::getView ( SmTexture  texture,
uint32_t  index = 0u 
) const
virtual

◆ initialise()

C3D_API bool castor3d::ShadowMap::initialise ( RenderDevice const &  device)

Initialise le frame buffer et les données spécifiques au type de source lumineuse.

Paramètres
[in]deviceLe device GPU.

◆ isInitialised()

bool castor3d::ShadowMap::isInitialised ( ) const
inline

Références m_initialised.

◆ render()

C3D_API ashes::Semaphore const& castor3d::ShadowMap::render ( RenderDevice const &  device,
ashes::Semaphore const &  toWait,
uint32_t  index 
)

Dessine la shadow map de la lumière.

Paramètres
[in]deviceLe device GPU.
[out]toWaitLe sémaphore de la précédente passe de rendu.
[out]indexL'indice de la texture.

◆ update() [1/2]

virtual C3D_API void castor3d::ShadowMap::update ( CpuUpdater updater)
pure virtual

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

Implémenté dans castor3d::ShadowMapPoint, castor3d::ShadowMapSpot, et castor3d::ShadowMapDirectional.

◆ update() [2/2]

virtual C3D_API void castor3d::ShadowMap::update ( GpuUpdater updater)
pure virtual

Met à jour la passe de rendu, au niveau GPU.

Paramètres
[in,out]updaterLes données d'update.

Implémenté dans castor3d::ShadowMapPoint, castor3d::ShadowMapSpot, et castor3d::ShadowMapDirectional.

Documentation des données membres

◆ m_count

uint32_t castor3d::ShadowMap::m_count
protected

Référencé par getCount().

◆ m_fence

ashes::FencePtr castor3d::ShadowMap::m_fence
protected

◆ m_finished

ashes::SemaphorePtr castor3d::ShadowMap::m_finished
protected

◆ m_geometryBuffers

std::set< std::reference_wrapper< GeometryBuffers > > castor3d::ShadowMap::m_geometryBuffers
protected

◆ m_initialised

bool castor3d::ShadowMap::m_initialised { false }
protected

Référencé par isInitialised().

◆ m_lightType

LightType castor3d::ShadowMap::m_lightType
protected

◆ m_name

castor::String castor3d::ShadowMap::m_name
protected

◆ m_passes

std::vector< PassData > castor3d::ShadowMap::m_passes
protected

◆ m_result

ShadowMapResult castor3d::ShadowMap::m_result
protected

◆ m_scene

Scene& castor3d::ShadowMap::m_scene
protected

◆ textureFlags

constexpr TextureFlags castor3d::ShadowMap::textureFlags
static

La documentation de cette classe a été générée à partir du fichier suivant :