Castor3D  ..
Fonctions membres publiques | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::InstantiationComponent

Le composant de sous-maillage pour l'instantiation matérielle. Plus de détails...

+ Graphe d'héritage de castor3d::InstantiationComponent:
+ Graphe de collaboration de castor3d::InstantiationComponent:

Fonctions membres publiques

C3D_API InstantiationComponent (Submesh &submesh, uint32_t threshold=1u)
 Constructeur. Plus de détails...
 
C3D_API ~InstantiationComponent ()
 Destructeur. 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...
 
C3D_API uint32_t getMaxRefCount () const
 
C3D_API void gather (VertexBufferArray &buffers) 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...
 
bool hasMatrixBuffer () const
 
VertexBuffer const & getMatrixBuffer () const
 
VertexBuffergetMatrixBuffer ()
 
ProgramFlags getProgramFlags () const override
 
- 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 ()
 Initialise le sous-maillage. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie le sous-maillage. Plus de détails...
 
C3D_API void fill ()
 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
 

Description détaillée

Le composant de sous-maillage pour l'instantiation matérielle.

Auteur
Sylvain DOREMUS
Date
09/11/2017

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é.

◆ ~InstantiationComponent()

C3D_API castor3d::InstantiationComponent::~InstantiationComponent ( )

Destructeur.

Documentation des fonctions membres

◆ gather()

C3D_API void castor3d::InstantiationComponent::gather ( VertexBufferArray buffers)
overridevirtual

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

Implémente castor3d::SubmeshComponent.

◆ getMatrixBuffer() [1/2]

VertexBuffer const& castor3d::InstantiationComponent::getMatrixBuffer ( ) const
inline
Renvoie
Le VertexBuffer d'instanciation.

◆ getMatrixBuffer() [2/2]

VertexBuffer& castor3d::InstantiationComponent::getMatrixBuffer ( )
inline
Renvoie
Le VertexBuffer d'instanciation.

◆ getMaxRefCount()

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

◆ getProgramFlags()

ProgramFlags castor3d::InstantiationComponent::getProgramFlags ( ) const
inlineoverridevirtual

Renvoie
Les indicateurs de shader.

Implémente castor3d::SubmeshComponent.

Références castor3d::eInstantiation, et hasMatrixBuffer().

+ Voici le graphe d'appel pour cette fonction :

◆ 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

◆ hasMatrixBuffer()

bool castor3d::InstantiationComponent::hasMatrixBuffer ( ) const
inline
Renvoie
Le VertexBuffer d'instanciation.

Référencé par getProgramFlags().

+ Voici le graphe des appelants de 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

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