Castor3D 0.12.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >

Cache de Light. Plus de détails...

#include <LightCache.hpp>

Graphe d'héritage de castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >:
Collaboration graph
[légende]

Types publics

using ElementT = Light
 
using ElementKeyT = castor::String
 
using ElementCacheTraitsT = LightCacheTraits
 
using ElementObjectCacheT = ObjectCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT >
 
using ElementPtrT = typename ElementObjectCacheT::ElementPtrT
 
using ElementContT = typename ElementObjectCacheT::ElementContT
 
using ElementInitialiserT = typename ElementObjectCacheT::ElementInitialiserT
 
using ElementCleanerT = typename ElementObjectCacheT::ElementCleanerT
 
using ElementMergerT = typename ElementObjectCacheT::ElementMergerT
 
using ElementAttacherT = typename ElementObjectCacheT::ElementAttacherT
 
using ElementDetacherT = typename ElementObjectCacheT::ElementDetacherT
 
- Types publics hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits >
using OnChangedFunction = std::function< void() >
 
using OnChanged = castor::SignalT< OnChangedFunction >
 

Fonctions membres publiques

C3D_API ObjectCacheT (Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode)
 Constructeur. Plus de détails...
 
C3D_API ~ObjectCacheT ()=default
 Destructeur. Plus de détails...
 
C3D_API void initialise (castor3d::RenderDevice const &device)
 Initialise le buffer GPU. Plus de détails...
 
C3D_API void cleanup ()
 Met tous les éléments à nettoyer. Plus de détails...
 
C3D_API void update (CpuUpdater &updater)
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
C3D_API void update (GpuUpdater &updater)
 Met à jour la passe de rendu, au niveau GPU. Plus de détails...
 
C3D_API void upload (ashes::CommandBuffer const &cb) const
 Met à jour tous les tampons GPU en VRAM. Plus de détails...
 
C3D_API LightsArray getLights (LightType type) const
 Récupère les lumières du type donné. Plus de détails...
 
C3D_API void createPassBinding (crg::FramePass &pass, uint32_t binding) const
 Crée une attache de frame pass. Plus de détails...
 
C3D_API VkDescriptorSetLayoutBinding createLayoutBinding (uint32_t index=0u) const
 Crée une attache de layout de set de descripteurs au point donné. Plus de détails...
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding) const
 Crée le descriptor write pour le buffer de sources lumineuses. Plus de détails...
 
C3D_API ashes::WriteDescriptorSet getBinding (uint32_t binding, VkDeviceSize offset, VkDeviceSize size) const
 Crée le descriptor write pour le buffer de sources lumineuses. Plus de détails...
 
uint32_t getLightsCount (LightType type) const
 Récupère le nombre de lumières du type donné. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits >
void mergeInto (ElementObjectCacheT &destination)
 Met les éléments de ce cache dans ceux de celui donné. Plus de détails...
 
EnginegetEngine () const
 
castor::String const & getObjectTypeName () const
 

Membres hérités additionnels

- Attributs publics hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits >
OnChanged onChanged
 
- Types protégés hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits >
using ElementT = Light
 
using ElementKeyT = castor::String
 
using ElementCacheTraitsT = LightCacheTraits
 
using ElementCacheT = castor::ResourceCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT >
 
using ElementCacheBaseT = ElementCacheT
 
using ElementObjectCacheT = ObjectCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT >
 
using ElementPtrT = ObjectPtrT< ElementT, ElementKeyT >
 
using ElementObsT = ObjectObsT< ElementT, ElementKeyT >
 
using ElementContT = ObjectContT< ElementT, ElementKeyT >
 
using ElementInitialiserT = ObjectInitialiserT< ElementT, ElementKeyT >
 
using ElementCleanerT = ObjectCleanerT< ElementT, ElementKeyT >
 
using ElementMergerT = ObjectMergerT< ElementT, ElementKeyT >
 
using ElementAttacherT = ObjectAttacherT< ElementT, ElementKeyT >
 
using ElementDetacherT = ObjectDetacherT< ElementT, ElementKeyT >
 
- Fonctions membres protégées hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits >
 ObjectCacheBaseT (Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode, ElementInitialiserT initialise=ElementInitialiserT{}, ElementCleanerT clean=ElementCleanerT{}, ElementMergerT merge=ElementMergerT{}, ElementAttacherT attach=ElementAttacherT{}, ElementDetacherT detach=ElementDetacherT{})
 Constructeur. Plus de détails...
 
 ~ObjectCacheBaseT ()
 Destructeur. Plus de détails...
 
- Attributs protégés hérités de castor3d::ObjectCacheBaseT< Light, castor::String, LightCacheTraits >
Enginem_engine
 
SceneNodeWPtr m_rootNode
 
SceneNodeWPtr m_rootCameraNode
 
SceneNodeWPtr m_rootObjectNode
 
ElementMergerT m_merge
 
ElementAttacherT m_attach
 
ElementDetacherT m_detach
 

Description détaillée

Cache de Light.

Documentation des définitions de type membres

◆ ElementAttacherT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementAttacherT = typename ElementObjectCacheT::ElementAttacherT

◆ ElementCacheTraitsT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementCacheTraitsT = LightCacheTraits

◆ ElementCleanerT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementCleanerT = typename ElementObjectCacheT::ElementCleanerT

◆ ElementContT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementContT = typename ElementObjectCacheT::ElementContT

◆ ElementDetacherT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementDetacherT = typename ElementObjectCacheT::ElementDetacherT

◆ ElementInitialiserT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementInitialiserT = typename ElementObjectCacheT::ElementInitialiserT

◆ ElementKeyT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementKeyT = castor::String

◆ ElementMergerT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementMergerT = typename ElementObjectCacheT::ElementMergerT

◆ ElementObjectCacheT

◆ ElementPtrT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementPtrT = typename ElementObjectCacheT::ElementPtrT

◆ ElementT

using castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ElementT = Light

Documentation des constructeurs et destructeur

◆ ObjectCacheT()

C3D_API castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::ObjectCacheT ( Scene scene,
SceneNodeSPtr  rootNode,
SceneNodeSPtr  rootCameraNode,
SceneNodeSPtr  rootObjectNode 
)

Constructeur.

Paramètres
[in]sceneLa scène.
[in]rootNodeLe noeud racine.
[in]rootCameraNodeLe noeud racine des caméras.
[in]rootObjectNodeLe noeud racine des objets.

◆ ~ObjectCacheT()

Destructeur.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::cleanup ( )

Met tous les éléments à nettoyer.

◆ createLayoutBinding()

C3D_API VkDescriptorSetLayoutBinding castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::createLayoutBinding ( uint32_t  index = 0u) const

Crée une attache de layout de set de descripteurs au point donné.

Paramètres
[in]indexL'indice du point d'attache.

◆ createPassBinding()

C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::createPassBinding ( crg::FramePass &  pass,
uint32_t  binding 
) const

Crée une attache de frame pass.

◆ getBinding() [1/2]

C3D_API ashes::WriteDescriptorSet castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getBinding ( uint32_t  binding) const

Crée le descriptor write pour le buffer de sources lumineuses.

◆ getBinding() [2/2]

C3D_API ashes::WriteDescriptorSet castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getBinding ( uint32_t  binding,
VkDeviceSize  offset,
VkDeviceSize  size 
) const

Crée le descriptor write pour le buffer de sources lumineuses.

◆ getLights()

C3D_API LightsArray castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getLights ( LightType  type) const

Récupère les lumières du type donné.

Paramètres
[in]typeLe type de lumière.
Renvoie
Les lumières.

◆ getLightsCount()

uint32_t castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::getLightsCount ( LightType  type) const
inline

Récupère le nombre de lumières du type donné.

Paramètres
[in]typeLe type de lumière.
Renvoie
Le compte.

◆ initialise()

C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::initialise ( castor3d::RenderDevice const &  device)

Initialise le buffer GPU.

Paramètres
[in]deviceLe device GPU.

◆ update() [1/2]

C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::update ( CpuUpdater updater)

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

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

◆ update() [2/2]

C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::update ( GpuUpdater updater)

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

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

◆ upload()

C3D_API void castor3d::ObjectCacheT< Light, castor::String, LightCacheTraits >::upload ( ashes::CommandBuffer const &  cb) const

Met à jour tous les tampons GPU en VRAM.

Paramètres
[in]cbLe command buffer sur lequel les commandes de transfert sont enregistrées.

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