Castor3D  ..
Fonctions membres publiques | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::VertexBuffer

Représentation d'un tampon de sommets. Plus de détails...

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

Fonctions membres publiques

C3D_API VertexBuffer (Engine &engine, BufferDeclaration const &declaration)
 Constructeur. Plus de détails...
 
C3D_API ~VertexBuffer ()=default
 Destructeur. Plus de détails...
 
C3D_API bool initialise (BufferAccessType type, BufferAccessNature nature)
 Initialise le tampon GPU. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie le tampon GPU. Plus de détails...
 
BufferDeclaration const & getDeclaration () const
 
template<typename ItType >
void linkCoords (ItType begin, ItType end)
 Lie tous les éméents à ce tampon. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::CpuBuffer< uint8_t >
uint8_t * lock (uint32_t offset, uint32_t count, AccessTypes const &flags) const
 Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications. Plus de détails...
 
void unlock () const
 Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus. Plus de détails...
 
void upload (uint32_t offset, uint32_t count, uint8_t const *buffer) const
 Transfère des données au tampon GPU à partir de la RAM. Plus de détails...
 
void upload () const
 Transfère toutes les données du tampon CPU vers le GPU. Plus de détails...
 
void download (uint32_t offset, uint32_t count, uint8_t *buffer)
 Transfère des données du tampon GPU vers la RAM. Plus de détails...
 
void download ()
 Transfère toutes les données du tampon GPU vers le CPU. Plus de détails...
 
void bind () const
 Fonction d'activation, pour dire au GPU qu'il est activé. Plus de détails...
 
void unbind () const
 Fonction de désactivation, pour dire au GPU qu'il est désactivé. Plus de détails...
 
void copy (GpuBuffer const &src, uint32_t srcOffset, uint32_t size)
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
void copy (CpuBuffer< uint8_t > const &src, uint32_t size)
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
GpuBuffer const & getGpuBuffer () const
 
uint8_t const & operator[] (uint32_t index) const
 Opérateur d'indexation. Plus de détails...
 
uint8_t & operator[] (uint32_t index)
 Opérateur d'indexation. Plus de détails...
 
void addElement (uint8_t const &value)
 Ajoute une valeur à la fin du tampon. Plus de détails...
 
uint32_t getSize () const
 
uint32_t isEmpty () const
 
void resize (uint32_t value)
 Définit la taille allouée du tampon. Plus de détails...
 
void clear ()
 Vide le tampon. Plus de détails...
 
uint8_t const * getData () const
 
uint8_t * getData ()
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 
uint32_t getOffset () const
 

Attributs protégés

BufferDeclaration m_bufferDeclaration
 
- Attributs protégés hérités de castor3d::CpuBuffer< uint8_t >
GpuBufferSPtr m_gpuBuffer
 
TArray m_data
 
uint32_t m_offset
 
uint32_t m_savedSize
 
BufferAccessType m_accessType
 
BufferAccessNature m_accessNature
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor3d::CpuBuffer< uint8_t >
 DECLARE_TPL_VECTOR (uint8_t, uint8_t)
 
 CpuBuffer (Engine &engine)
 Constructeur. Plus de détails...
 
 ~CpuBuffer ()
 Destructeur. Plus de détails...
 
void doInitialise (BufferAccessType accessType, BufferAccessNature accessNature)
 

Description détaillée

Représentation d'un tampon de sommets.

Auteur
Sylvain DOREMUS
Version
0.1
Date
09/02/2010
Remarques
Contient les informations des sommets d'un submesh

Documentation des constructeurs et destructeur

◆ VertexBuffer()

C3D_API castor3d::VertexBuffer::VertexBuffer ( Engine engine,
BufferDeclaration const &  declaration 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]declarationLa déclaration du tampon.

◆ ~VertexBuffer()

C3D_API castor3d::VertexBuffer::~VertexBuffer ( )
default

Destructeur.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::VertexBuffer::cleanup ( )

Nettoie le tampon GPU.

◆ getDeclaration()

BufferDeclaration const& castor3d::VertexBuffer::getDeclaration ( ) const
inline
Renvoie
La déclaration du tampon.

Références m_bufferDeclaration.

◆ initialise()

C3D_API bool castor3d::VertexBuffer::initialise ( BufferAccessType  type,
BufferAccessNature  nature 
)

Initialise le tampon GPU.

Paramètres
[in]typeType d'accès du tampon.
[in]natureNature d'accès du tampon.
Renvoie
true si tout s'est bien passé.

◆ linkCoords()

template<typename ItType >
void castor3d::VertexBuffer::linkCoords ( ItType  begin,
ItType  end 
)
inline

Lie tous les éméents à ce tampon.

Paramètres
[in]begin,endLes itérateurs du tableau d'éléments.

Références castor3d::CpuBuffer< uint8_t >::end(), castor3d::CpuBuffer< T >::getData(), m_bufferDeclaration, et castor3d::BufferDeclaration::stride().

+ Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_bufferDeclaration

BufferDeclaration castor3d::VertexBuffer::m_bufferDeclaration
protected

Description des élément du tampon.

Référencé par getDeclaration(), et linkCoords().


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