Castor3D  0.11.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
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 DataArray = std::vector< Data >
 
using InstanceDataMap = std::map< MaterialSPtr, DataArray >
 

Fonctions membres publiques

C3D_API InstantiationComponent (Submesh &submesh, uint32_t threshold=1u)
 Constructeur. Plus de détails...
 
C3D_API uint32_t ref (MaterialSPtr material)
 Incrémente le compte d'instances. Plus de détails...
 
C3D_API uint32_t unref (MaterialSPtr material)
 Décrémente le compte d'instances. Plus de détails...
 
C3D_API uint32_t getRefCount (MaterialSPtr material) const
 Récupère le nombre d'instances. Plus de détails...
 
bool isInstanced (MaterialSPtr material) const
 
C3D_API uint32_t getMaxRefCount () const
 
C3D_API void gather (MaterialSPtr material, ashes::BufferCRefArray &buffers, std::vector< uint64_t > &offsets, ashes::PipelineVertexInputStateCreateInfoCRefArray &layouts, uint32_t instanceMult) override
 Récupère les tampons qui doivent aller dans un VAO. Plus de détails...
 
C3D_API void setMaterial (MaterialSPtr oldMaterial, MaterialSPtr newMaterial, bool update) override
 Définit le materiau. Plus de détails...
 
C3D_API InstanceDataMap::const_iterator find (MaterialSPtr material, uint32_t instanceMult) const
 
C3D_API InstanceDataMap::iterator find (MaterialSPtr material, uint32_t instanceMult)
 
C3D_API ProgramFlags getProgramFlags (MaterialSPtr material) const override
 
uint32_t getThreshold () const
 
InstanceDataMap::const_iterator end () const
 
InstanceDataMap::iterator end ()
 
InstanceDataMap::const_iterator find (MaterialSPtr material) const
 
InstanceDataMap::iterator find (MaterialSPtr material)
 
uint32_t getIndex (uint32_t instanceMult) const
 
- Fonctions membres publiques hérités de castor3d::SubmeshComponent
C3D_API SubmeshComponent (Submesh &submesh, castor::String const &type)
 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 ()
 Nettoie le sous-maillage. Plus de détails...
 
C3D_API void fill (RenderDevice const &device)
 Initialise le sous-maillage. Plus de détails...
 
C3D_API void upload ()
 Met les données en VRAM. Plus de détails...
 
castor::String const & getType () const
 
void needsUpdate ()
 

Attributs publics statiques

static C3D_API castor::String const Name
 
static C3D_API uint32_t constexpr BindingPoint = 2u
 

Documentation des définitions de type membres

◆ DataArray

◆ 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

◆ end() [1/2]

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

◆ end() [2/2]

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

◆ find() [1/4]

C3D_API InstanceDataMap::const_iterator castor3d::InstantiationComponent::find ( MaterialSPtr  material,
uint32_t  instanceMult 
) const

name Accesseurs.

◆ find() [2/4]

C3D_API InstanceDataMap::iterator castor3d::InstantiationComponent::find ( MaterialSPtr  material,
uint32_t  instanceMult 
)

◆ find() [3/4]

InstanceDataMap::const_iterator castor3d::InstantiationComponent::find ( MaterialSPtr  material) const
inline

◆ find() [4/4]

InstanceDataMap::iterator castor3d::InstantiationComponent::find ( MaterialSPtr  material)
inline

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

Voici le graphe d'appel pour cette fonction :

◆ gather()

C3D_API void castor3d::InstantiationComponent::gather ( MaterialSPtr  material,
ashes::BufferCRefArray &  buffers,
std::vector< uint64_t > &  offsets,
ashes::PipelineVertexInputStateCreateInfoCRefArray &  layouts,
uint32_t  instanceMult 
)
overridevirtual

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

Implémente castor3d::SubmeshComponent.

◆ getIndex()

uint32_t castor3d::InstantiationComponent::getIndex ( uint32_t  instanceMult) const
inline

◆ 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 ( MaterialSPtr  material) const
overridevirtual
Renvoie
Les indicateurs de shader.

Implémente castor3d::SubmeshComponent.

◆ getRefCount()

C3D_API uint32_t castor3d::InstantiationComponent::getRefCount ( MaterialSPtr  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

Référencé par isInstanced().

Voici le graphe des appelants de cette fonction :

◆ getThreshold()

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

Référencé par isInstanced().

Voici le graphe des appelants de cette fonction :

◆ isInstanced()

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

Références getRefCount(), et getThreshold().

Voici le graphe d'appel pour cette fonction :

◆ ref()

C3D_API uint32_t castor3d::InstantiationComponent::ref ( MaterialSPtr  material)

Incrémente le compte d'instances.

Paramètres
[in]materialLe matériau pour lequel le compte est incrémenté.
Renvoie
Le compte précédent.

◆ setMaterial()

C3D_API void castor3d::InstantiationComponent::setMaterial ( MaterialSPtr  oldMaterial,
MaterialSPtr  newMaterial,
bool  update 
)
overridevirtual

Définit le materiau.

Paramètres
[in]oldMaterialLe matériau précédent.
[in]newMaterialLe nouveau matériau.
[in]updateDit si les tampons doivent être mis à jour.

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

◆ unref()

C3D_API uint32_t castor3d::InstantiationComponent::unref ( MaterialSPtr  material)

Décrémente le compte d'instances.

Paramètres
[in]materialLe matériau pour lequel le compte est décrémenté.
Renvoie
Le compte précédent.

Documentation des données membres

◆ BindingPoint

C3D_API uint32_t constexpr castor3d::InstantiationComponent::BindingPoint = 2u
static

◆ 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 :