Castor3D 0.14.0
Multiplatform 3D engine
Classes | Types publics | Fonctions membres publiques | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::InstantiationComponent

#include <InstantiationComponent.hpp>

Graphe d'héritage de castor3d::InstantiationComponent:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::InstantiationComponent:
Collaboration graph
[légende]

Classes

struct  Data
 

Types publics

using InstanceDataMap = std::map< Material const *, Data >
 

Fonctions membres publiques

C3D_API InstantiationComponent (Submesh &submesh, uint32_t threshold=1u)
 Constructeur. Plus de détails...
 
C3D_API bool ref (MaterialRPtr material)
 Incrémente le compte d'instances. Plus de détails...
 
C3D_API void unref (MaterialRPtr material)
 Décrémente le compte d'instances. Plus de détails...
 
C3D_API uint32_t getRefCount (MaterialRPtr material) const
 Récupère le nombre d'instances. Plus de détails...
 
C3D_API bool isInstanced (MaterialRPtr material) const
 
C3D_API bool isInstanced () const
 
C3D_API uint32_t getMaxRefCount () const
 
C3D_API void gather (PipelineFlags const &flags, MaterialRPtr material, ashes::BufferCRefArray &buffers, std::vector< uint64_t > &offsets, ashes::PipelineVertexInputStateCreateInfoCRefArray &layouts, uint32_t &currentBinding, uint32_t &currentLocation) override
 Récupère les tampons qui doivent aller dans un vertex layout. Plus de détails...
 
C3D_API SubmeshComponentSPtr clone (Submesh &submesh) const override
 
C3D_API ProgramFlags getProgramFlags (Material const &material) const override
 
uint32_t getThreshold () const
 
InstanceDataMap::const_iterator end () const
 
InstanceDataMap::iterator end ()
 
InstanceDataMap::const_iterator find (Material const &material) const
 
InstanceDataMap::iterator find (Material const &material)
 
- Fonctions membres publiques hérités de castor3d::SubmeshComponent
C3D_API SubmeshComponent (Submesh &submesh, castor::String const &type, uint32_t id)
 Constructeur. Plus de détails...
 
virtual C3D_API ~SubmeshComponent () noexcept=default
 Destructeur. Plus de détails...
 
C3D_API bool initialise (RenderDevice const &device)
 Initialise le sous-maillage. Plus de détails...
 
C3D_API void cleanup (RenderDevice const &device)
 Nettoie le sous-maillage. Plus de détails...
 
C3D_API void upload ()
 Met les données en VRAM. Plus de détails...
 
virtual C3D_API void gather (PipelineFlags const &flags, MaterialRPtr material, ashes::BufferCRefArray &buffers, std::vector< uint64_t > &offsets, ashes::PipelineVertexInputStateCreateInfoCRefArray &layouts, uint32_t &currentBinding, uint32_t &currentLocation)=0
 Récupère les tampons qui doivent aller dans un vertex layout. Plus de détails...
 
virtual C3D_API ProgramFlags getProgramFlags (Material const &material) const
 
virtual C3D_API SubmeshFlags getSubmeshFlags (Pass const *pass) const
 
virtual C3D_API VkBufferUsageFlags getUsageFlags () const
 
virtual C3D_API SubmeshComponentSPtr clone (Submesh &submesh) const =0
 
castor::String const & getType () const
 
void needsUpdate ()
 Dit que le composant doit être mis à jour. Plus de détails...
 
uint32_t getID ()
 

Attributs publics statiques

static C3D_API castor::String const Name
 

Documentation des définitions de type membres

◆ InstanceDataMap

Documentation des constructeurs et destructeur

◆ InstantiationComponent()

C3D_API castor3d::InstantiationComponent::InstantiationComponent ( Submesh submesh,
uint32_t  threshold = 1u 
)
explicit

Constructeur.

Paramètres
[in]submeshLe sous-maillage parent.
[in]thresholdLe seuil à partir duquel un sous-maillage sera instancié.

Documentation des fonctions membres

◆ clone()

C3D_API SubmeshComponentSPtr castor3d::InstantiationComponent::clone ( Submesh submesh) const
overridevirtual

Renvoie
Clone ce composant dans le submesh donné.
Paramètres
[in,out]submeshReçoit le composant cloné.

Implémente castor3d::SubmeshComponent.

◆ end() [1/2]

InstanceDataMap::iterator castor3d::InstantiationComponent::end ( )
inline

◆ end() [2/2]

InstanceDataMap::const_iterator castor3d::InstantiationComponent::end ( ) const
inline

◆ find() [1/2]

InstanceDataMap::iterator castor3d::InstantiationComponent::find ( Material const &  material)
inline

Références castor3d::SubmeshComponent::needsUpdate().

Voici le graphe d'appel pour cette fonction :

◆ find() [2/2]

InstanceDataMap::const_iterator castor3d::InstantiationComponent::find ( Material const &  material) const
inline

◆ gather()

C3D_API void castor3d::InstantiationComponent::gather ( PipelineFlags const &  flags,
MaterialRPtr  material,
ashes::BufferCRefArray &  buffers,
std::vector< uint64_t > &  offsets,
ashes::PipelineVertexInputStateCreateInfoCRefArray &  layouts,
uint32_t &  currentBinding,
uint32_t &  currentLocation 
)
overridevirtual

Récupère les tampons qui doivent aller dans un vertex layout.

Paramètres
[in]flagsLes flags de pipeline.
[in]materialLes matériau.
[in,out]buffersReçoit les buffers.
[in,out]offsetsReçoit les offsets dans les buffers.
[in,out]layoutsReçoit les vertex layouts.
[in,out]currentBindingL'index de binging actuel des buffers.
[in,out]currentLocationLa position actuelle des attributs.

Implémente castor3d::SubmeshComponent.

◆ getMaxRefCount()

C3D_API uint32_t castor3d::InstantiationComponent::getMaxRefCount ( ) const
Renvoie
Le nombre moximum d'instances, tous matériaux confondus,

◆ getProgramFlags()

C3D_API ProgramFlags castor3d::InstantiationComponent::getProgramFlags ( Material const &  material) const
overridevirtual

Renvoie
Les indicateurs de programme.
Paramètres
[in]materialLes matériau.

Réimplémentée à partir de castor3d::SubmeshComponent.

◆ getRefCount()

C3D_API uint32_t castor3d::InstantiationComponent::getRefCount ( MaterialRPtr  material) const

Récupère le nombre d'instances.

Paramètres
[in]materialLe matériau pour lequel le compte est récupéré
Renvoie
La valeur

◆ getThreshold()

uint32_t castor3d::InstantiationComponent::getThreshold ( ) const
inline

name Accesseurs.

◆ isInstanced() [1/2]

C3D_API bool castor3d::InstantiationComponent::isInstanced ( ) const
Renvoie
true si le nombre d'instances max est plus grand que le seuil.

◆ isInstanced() [2/2]

C3D_API bool castor3d::InstantiationComponent::isInstanced ( MaterialRPtr  material) const
Paramètres
[in]materialLe matériau.
Renvoie
true si le nombre d'instances pour le matériau donné est plus grand que le seuil.

◆ ref()

C3D_API bool castor3d::InstantiationComponent::ref ( MaterialRPtr  material)

Incrémente le compte d'instances.

Paramètres
[in]materialLe matériau pour lequel le compte est incrémenté.
Renvoie
true Si le buffer d'instances a changé.

◆ unref()

C3D_API void castor3d::InstantiationComponent::unref ( MaterialRPtr  material)

Décrémente le compte d'instances.

Paramètres
[in]materialLe matériau pour lequel le compte est décrémenté.

Documentation des données membres

◆ Name

C3D_API castor::String const castor3d::InstantiationComponent::Name
static

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