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

Interface de tampon de compteur atomique. Plus de détails...

+ Graphe d'héritage de Castor3D::AtomicCounterBuffer:
+ Graphe de collaboration de Castor3D::AtomicCounterBuffer:

Fonctions membres publiques

C3D_API AtomicCounterBuffer (Castor::String const &p_name, ShaderProgram &p_program)
 Constructeur. Plus de détails...
 
virtual C3D_API ~AtomicCounterBuffer ()
 Destructeur. Plus de détails...
 
C3D_API bool Initialise (uint32_t p_size, uint32_t p_index)
 Initialise le tampon GPU. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie toutes les variables et le tampon GPU associé. Plus de détails...
 
C3D_API uint32_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...
 
C3D_API 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...
 
C3D_API void Upload (uint32_t p_offset, uint32_t p_count, uint32_t const *p_buffer)
 Transfère des données au tampon GPU à partir de la RAM. Plus de détails...
 
C3D_API void Download (uint32_t p_offset, uint32_t p_count, uint32_t *p_buffer)
 Transfère des données du tampon GPU vers la RAM. Plus de détails...
 
C3D_API void Bind ()
 Fonction d'activation, pour dire au GPU qu'il est activé. Plus de détails...
 
C3D_API void Unbind ()
 Fonction de désactivation, pour dire au GPU qu'il est désactivé. Plus de détails...
 
C3D_API void Copy (GpuBuffer< uint32_t > const &p_src, uint32_t p_size)
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
GpuBuffer< uint32_t > const & GetGpuBuffer () const
 

Attributs protégés

GpuBufferUPtr m_gpuBuffer
 

Description détaillée

Interface de tampon de compteur atomique.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
24/11/2016

Documentation des constructeurs et destructeur

◆ AtomicCounterBuffer()

C3D_API Castor3D::AtomicCounterBuffer::AtomicCounterBuffer ( Castor::String const &  p_name,
ShaderProgram p_program 
)

Constructeur.

Paramètres
[in]p_nameLe nom du tampon.
[in]p_programLe programme parent.

◆ ~AtomicCounterBuffer()

virtual C3D_API Castor3D::AtomicCounterBuffer::~AtomicCounterBuffer ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ Bind()

C3D_API void Castor3D::AtomicCounterBuffer::Bind ( )

Fonction d'activation, pour dire au GPU qu'il est activé.

◆ Cleanup()

C3D_API void Castor3D::AtomicCounterBuffer::Cleanup ( )

Nettoie toutes les variables et le tampon GPU associé.

◆ Copy()

C3D_API void Castor3D::AtomicCounterBuffer::Copy ( GpuBuffer< uint32_t > const &  p_src,
uint32_t  p_size 
)

Copie les données du tampon donné dans celui-ci.

Paramètres
[in]p_srcLe tampon source.
[in]p_sizeLe nombre d'éléments à copier.
Renvoie
true si tout s'est bien passé.

◆ Download()

C3D_API void Castor3D::AtomicCounterBuffer::Download ( uint32_t  p_offset,
uint32_t  p_count,
uint32_t *  p_buffer 
)

Transfère des données du tampon GPU vers la RAM.

Remarques
Transfère les données de tampon[p_offset*sizeof( T )] à tampon[(p_offset+p_count-1) * sizeof( T )].
Paramètres
[in]p_offsetL'offset de départ.
[in]p_countNombre d'éléments.
[in]p_bufferLes données.

◆ GetGpuBuffer()

GpuBuffer< uint32_t > const& Castor3D::AtomicCounterBuffer::GetGpuBuffer ( ) const
inline
Renvoie
Le tampon GPU.

Références m_gpuBuffer.

◆ Initialise()

C3D_API bool Castor3D::AtomicCounterBuffer::Initialise ( uint32_t  p_size,
uint32_t  p_index 
)

Initialise le tampon GPU.

Paramètres
[in]p_sizeTaille du tampon.
[in]p_indexLe point d'attache du tampon.
Renvoie
false if any problem occured.

◆ Lock()

C3D_API uint32_t* Castor3D::AtomicCounterBuffer::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.

Remarques
Mappe de tampon[p_offset*sizeof( T )] à tampon[(p_offset+p_uiSize-1) * sizeof( T )].
Paramètres
[in]p_offsetL'offset de départ.
[in]p_countLe nombre d'éléments à mapper.
[in]p_flagsLes flags de lock.
Renvoie
L'adresse du tampon mappé.

◆ Unbind()

C3D_API void Castor3D::AtomicCounterBuffer::Unbind ( )

Fonction de désactivation, pour dire au GPU qu'il est désactivé.

Renvoie
true si tout s'est bien passé.

◆ Unlock()

C3D_API void Castor3D::AtomicCounterBuffer::Unlock ( )

Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus.

Remarques
Toutes les modifications qui avaient été effectuées sur le tampon mappé sont rapatriées dans la mémoire GPU.

◆ Upload()

C3D_API void Castor3D::AtomicCounterBuffer::Upload ( uint32_t  p_offset,
uint32_t  p_count,
uint32_t const *  p_buffer 
)

Transfère des données au tampon GPU à partir de la RAM.

Remarques
Transfère les données de tampon[p_offset*sizeof( T )] à tampon[(p_offset+p_count-1) * sizeof( T )].
Paramètres
[in]p_offsetL'offset de départ.
[in]p_countNombre d'éléments.
[in]p_bufferLes données.

Documentation des données membres

◆ m_gpuBuffer

GpuBufferUPtr Castor3D::AtomicCounterBuffer::m_gpuBuffer
protected

Le tampon GPU.

Référencé par GetGpuBuffer().


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