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 &name, ShaderProgram &program)
 Constructeur. Plus de détails...
 
virtual C3D_API ~AtomicCounterBuffer ()
 Destructeur. Plus de détails...
 
C3D_API bool initialise (uint32_t size, uint32_t 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 offset, uint32_t count, AccessTypes const &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 offset, uint32_t count, uint32_t const *buffer)
 Transfère des données au tampon GPU à partir de la RAM. Plus de détails...
 
C3D_API void download (uint32_t offset, uint32_t count, uint32_t *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 const &src, uint32_t srcOffset, uint32_t size)
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
GpuBuffer const & getGpuBuffer () const
 

Attributs protégés

GpuBufferSPtr m_gpuBuffer
 
uint32_t m_offset { 0u }
 

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 &  name,
ShaderProgram program 
)

Constructeur.

Paramètres
[in]nameLe nom du tampon.
[in]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 const &  src,
uint32_t  srcOffset,
uint32_t  size 
)

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

Paramètres
[in]srcLe tampon source.
[in]srcOffsetLe décalage dans le tampon source.
[in]sizeLe nombre d'éléments à copier.
Renvoie
true si tout s'est bien passé.

◆ download()

C3D_API void castor3d::AtomicCounterBuffer::download ( uint32_t  offset,
uint32_t  count,
uint32_t *  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]offsetL'offset de départ.
[in]countNombre d'éléments.
[in]bufferLes données.

◆ getGpuBuffer()

GpuBuffer const& castor3d::AtomicCounterBuffer::getGpuBuffer ( ) const
inline
Renvoie
Le tampon GPU.

Références m_gpuBuffer.

◆ initialise()

C3D_API bool castor3d::AtomicCounterBuffer::initialise ( uint32_t  size,
uint32_t  index 
)

Initialise le tampon GPU.

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

◆ lock()

C3D_API uint32_t* castor3d::AtomicCounterBuffer::lock ( uint32_t  offset,
uint32_t  count,
AccessTypes const &  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]offsetL'offset de départ.
[in]countLe nombre d'éléments à mapper.
[in]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  offset,
uint32_t  count,
uint32_t const *  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]offsetL'offset de départ.
[in]countNombre d'éléments.
[in]bufferLes données.

Documentation des données membres

◆ m_gpuBuffer

GpuBufferSPtr castor3d::AtomicCounterBuffer::m_gpuBuffer
protected

Le tampon GPU.

Référencé par getGpuBuffer().

◆ m_offset

uint32_t castor3d::AtomicCounterBuffer::m_offset { 0u }
protected

Le décalage dans le tampon GPU.


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