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 &p_engine, BufferDeclaration const &p_declaration)
 Constructeur. Plus de détails...
 
C3D_API ~VertexBuffer ()
 Destructeur. Plus de détails...
 
C3D_API bool Initialise (BufferAccessType p_type, BufferAccessNature p_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
 Récupère la déclaration du tampon. Plus de détails...
 
template<typename ItType >
void LinkCoords (ItType p_begin, ItType p_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 p_offset, uint32_t p_count, AccessTypes const &p_flags)
 Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications. Plus de détails...
 
void Unlock ()
 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 p_offset, uint32_t p_count, uint8_t const *p_buffer)
 Transfère des données au tampon GPU à partir de la RAM. Plus de détails...
 
void Upload ()
 Transfère toutes les données du tampon CPU vers le GPU. Plus de détails...
 
void Download (uint32_t p_offset, uint32_t p_count, uint8_t *p_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 ()
 Fonction d'activation, pour dire au GPU qu'il est activé. Plus de détails...
 
void Unbind ()
 Fonction de désactivation, pour dire au GPU qu'il est désactivé. Plus de détails...
 
void Copy (GpuBuffer< uint8_t > const &p_src, uint32_t p_size)
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
void Copy (CpuBuffer< uint8_t > const &p_src, uint32_t p_size)
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
MyGpuBuffer const & GetGpuBuffer () const
 
uint8_t const & operator[] (uint32_t p_index) const
 Opérateur d'indexation. Plus de détails...
 
uint8_t & operator[] (uint32_t p_index)
 Opérateur d'indexation. Plus de détails...
 
void AddElement (uint8_t const &p_value)
 Ajoute une valeur à la fin du tampon. Plus de détails...
 
uint32_t GetSize () const
 Récupère la taille remplie du tampon. Plus de détails...
 
uint32_t GetCapacity () const
 Récupère la taille allouée du tampon. Plus de détails...
 
void Resize (uint32_t p_uiNewSize)
 Définit la taille allouée du tampon. Plus de détails...
 
void Grow (uint32_t p_uiIncrement)
 Augmente la taille allouée du tampon. Plus de détails...
 
void Clear ()
 Vide le tampon. Plus de détails...
 
uint8_t const * data () const
 Récupère le pointeur sur les données. Plus de détails...
 
uint8_t * data ()
 Récupère le pointeur sur les données. Plus de détails...
 

Attributs protégés

BufferDeclaration m_bufferDeclaration
 
- Attributs protégés hérités de Castor3D::CpuBuffer< uint8_t >
GpuBufferUPtr m_gpuBuffer
 
TArray m_data
 
uint32_t m_savedSize
 

Membres hérités additionnels

- Types protégés hérités de Castor3D::CpuBuffer< uint8_t >
using MyGpuBuffer = GpuBuffer< uint8_t >
 
using GpuBufferUPtr = std::unique_ptr< MyGpuBuffer >
 
- Fonctions membres protégées hérités de Castor3D::CpuBuffer< uint8_t >
 DECLARE_TPL_VECTOR (uint8_t, uint8_t)
 
 CpuBuffer (Engine &p_engine)
 Constructeur. Plus de détails...
 
 ~CpuBuffer ()
 Destructeur. Plus de détails...
 
bool DoInitialise (BufferAccessType p_type, BufferAccessNature p_nature)
 Initialise le tampon GPU. Plus de détails...
 
void DoCleanup ()
 Nettoie le tampon GPU. Plus de détails...
 

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 p_engine,
BufferDeclaration const &  p_declaration 
)

Constructeur.

Paramètres
[in]p_engineLe moteur.
[in]p_declarationLa déclaration du tampon.

◆ ~VertexBuffer()

C3D_API Castor3D::VertexBuffer::~VertexBuffer ( )

Destructeur.

Documentation des fonctions membres

◆ Cleanup()

C3D_API void Castor3D::VertexBuffer::Cleanup ( )

Nettoie le tampon GPU.

◆ GetDeclaration()

BufferDeclaration const& Castor3D::VertexBuffer::GetDeclaration ( ) const
inline

Récupère la déclaration du tampon.

Renvoie
La déclaration du tampon

Références m_bufferDeclaration.

◆ Initialise()

C3D_API bool Castor3D::VertexBuffer::Initialise ( BufferAccessType  p_type,
BufferAccessNature  p_nature 
)

Initialise le tampon GPU.

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

◆ LinkCoords()

template<typename ItType >
void Castor3D::VertexBuffer::LinkCoords ( ItType  p_begin,
ItType  p_end 
)
inline

Lie tous les éméents à ce tampon.

Paramètres
[in]p_begin,p_endLes itérateurs du tableau d'éléments

Références Castor3D::CpuBuffer< T >::data(), 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 :