Castor3D 0.13.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::SubmeshComponentabstract

#include <SubmeshComponent.hpp>

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

Fonctions membres publiques

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 (ShaderFlags const &shaderFlags, ProgramFlags const &programFlags, SubmeshFlags const &submeshFlags, MaterialRPtr material, TextureFlagsArray const &mask, 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 ()
 

Documentation des constructeurs et destructeur

◆ SubmeshComponent()

C3D_API castor3d::SubmeshComponent::SubmeshComponent ( Submesh submesh,
castor::String const &  type,
uint32_t  id 
)

Constructeur.

Paramètres
[in]submeshLe sous-maillage parent.
[in]typeLe type de composant.
[in]idL'ID composant.

◆ ~SubmeshComponent()

virtual C3D_API castor3d::SubmeshComponent::~SubmeshComponent ( )
virtualdefaultnoexcept

Destructeur.

Documentation des fonctions membres

◆ cleanup()

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

Nettoie le sous-maillage.

◆ clone()

virtual C3D_API SubmeshComponentSPtr castor3d::SubmeshComponent::clone ( Submesh submesh) const
pure virtual
Renvoie
Clone ce composant dans le submesh donné.
Paramètres
[in,out]submeshReçoit le composant cloné.

Implémenté dans castor3d::BaseDataComponentT< SubmeshFlagT >, castor3d::InstantiationComponent, castor3d::LinesMapping, castor3d::MeshletComponent, castor3d::MorphComponent, castor3d::SkinComponent, et castor3d::TriFaceMapping.

◆ gather()

virtual C3D_API void castor3d::SubmeshComponent::gather ( ShaderFlags const &  shaderFlags,
ProgramFlags const &  programFlags,
SubmeshFlags const &  submeshFlags,
MaterialRPtr  material,
TextureFlagsArray const &  mask,
ashes::BufferCRefArray &  buffers,
std::vector< uint64_t > &  offsets,
ashes::PipelineVertexInputStateCreateInfoCRefArray &  layouts,
uint32_t &  currentBinding,
uint32_t &  currentLocation 
)
pure virtual

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

Paramètres
[in]shaderFlagsLes shader flags.
[in]programFlagsLes program flags.
[in]submeshFlagsLes submesh flags.
[in]materialLes matériau.
[in]maskLe masque de textures.
[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émenté dans castor3d::BaseDataComponentT< SubmeshFlagT >, castor3d::IndexMapping, castor3d::InstantiationComponent, castor3d::MeshletComponent, castor3d::MorphComponent, et castor3d::SkinComponent.

◆ getID()

uint32_t castor3d::SubmeshComponent::getID ( )
inline
Renvoie
L'ID de binding du composant.

◆ getProgramFlags()

virtual C3D_API ProgramFlags castor3d::SubmeshComponent::getProgramFlags ( Material const &  material) const
inlinevirtual
Renvoie
Les indicateurs de programme.
Paramètres
[in]materialLes matériau.

Réimplémentée dans castor3d::InstantiationComponent, et castor3d::MeshletComponent.

◆ getSubmeshFlags()

virtual C3D_API SubmeshFlags castor3d::SubmeshComponent::getSubmeshFlags ( Pass const *  pass) const
inlinevirtual
Renvoie
Les indicateurs de submesh.

Réimplémentée dans castor3d::BaseDataComponentT< SubmeshFlagT >, castor3d::IndexMapping, et castor3d::SkinComponent.

◆ getType()

castor::String const & castor3d::SubmeshComponent::getType ( ) const
inline
Renvoie
Le nom du type de composant.

◆ getUsageFlags()

virtual C3D_API VkBufferUsageFlags castor3d::SubmeshComponent::getUsageFlags ( ) const
inlinevirtual
Renvoie
Les flags d'utilisation du buffer.

Réimplémentée dans castor3d::IndexMapping.

◆ initialise()

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

Initialise le sous-maillage.

◆ needsUpdate()

void castor3d::SubmeshComponent::needsUpdate ( )
inline

Dit que le composant doit être mis à jour.

Référencé par castor3d::InstantiationComponent::find(), castor3d::MeshletComponent::getCullData(), et castor3d::MeshletComponent::getMeshletsData().

Voici le graphe des appelants de cette fonction :

◆ upload()

C3D_API void castor3d::SubmeshComponent::upload ( )

Met les données en VRAM.

Remarques
Pour les buffers host visible.

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