Castor3D 0.13.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::IndexMappingabstract

#include <IndexMapping.hpp>

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

Fonctions membres publiques

C3D_API IndexMapping (Submesh &submesh, castor::String const &type, VkBufferUsageFlags bufferUsageFlags)
 Constructeur. Plus de détails...
 
virtual C3D_API uint32_t getCount () const =0
 
virtual C3D_API uint32_t getComponentsCount () const =0
 
virtual C3D_API void computeNormals (bool reverted=false)=0
 Génère les normales et les tangentes. Plus de détails...
 
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) override
 Récupère les tampons qui doivent aller dans un vertex layout. Plus de détails...
 
SubmeshFlags getSubmeshFlags (Pass const *pass) const override
 
VkBufferUsageFlags getUsageFlags () const override
 
- 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 (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 ()
 

Attributs protégés

StagingDataUPtr m_staging
 

Documentation des constructeurs et destructeur

◆ IndexMapping()

C3D_API castor3d::IndexMapping::IndexMapping ( Submesh submesh,
castor::String const &  type,
VkBufferUsageFlags  bufferUsageFlags 
)

Constructeur.

Paramètres
[in]submeshLe sous-maillage parent.
[in]typeLe type de composant.
[in]bufferUsageFlagsLes flags d'utilisation du buffer.

Documentation des fonctions membres

◆ computeNormals()

virtual C3D_API void castor3d::IndexMapping::computeNormals ( bool  reverted = false)
pure virtual

Génère les normales et les tangentes.

Paramètres
[in]revertedDit si les normales sont inversées.

Implémenté dans castor3d::LinesMapping, et castor3d::TriFaceMapping.

◆ gather()

void castor3d::IndexMapping::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 
)
inlineoverridevirtual

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émente castor3d::SubmeshComponent.

◆ getComponentsCount()

virtual C3D_API uint32_t castor3d::IndexMapping::getComponentsCount ( ) const
pure virtual
Renvoie
Le nombre de composantes d'un élément.

Implémenté dans castor3d::LinesMapping, et castor3d::TriFaceMapping.

◆ getCount()

virtual C3D_API uint32_t castor3d::IndexMapping::getCount ( ) const
pure virtual
Renvoie
Le nombre d'éléments.

Implémenté dans castor3d::LinesMapping, et castor3d::TriFaceMapping.

◆ getSubmeshFlags()

SubmeshFlags castor3d::IndexMapping::getSubmeshFlags ( Pass const *  pass) const
inlineoverridevirtual

Renvoie
Les indicateurs de submesh.

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

Références castor3d::eIndex.

◆ getUsageFlags()

VkBufferUsageFlags castor3d::IndexMapping::getUsageFlags ( ) const
inlineoverridevirtual

Renvoie
Les flags d'utilisation du buffer.

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

Documentation des données membres

◆ m_staging

StagingDataUPtr castor3d::IndexMapping::m_staging
protected

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