Castor3D
..
|
Interface de tampon de compteur atomique. Plus de détails...
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 } |
Interface de tampon de compteur atomique.
C3D_API castor3d::AtomicCounterBuffer::AtomicCounterBuffer | ( | castor::String const & | name, |
ShaderProgram & | program | ||
) |
Constructeur.
[in] | name | Le nom du tampon. |
[in] | program | Le programme parent. |
|
virtual |
Destructeur.
C3D_API void castor3d::AtomicCounterBuffer::bind | ( | ) |
Fonction d'activation, pour dire au GPU qu'il est activé.
C3D_API void castor3d::AtomicCounterBuffer::cleanup | ( | ) |
Nettoie toutes les variables et le tampon GPU associé.
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.
[in] | src | Le tampon source. |
[in] | srcOffset | Le décalage dans le tampon source. |
[in] | size | Le nombre d'éléments à copier. |
true
si tout s'est bien passé. 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.
[in] | offset | L'offset de départ. |
[in] | count | Nombre d'éléments. |
[in] | buffer | Les données. |
|
inline |
Références m_gpuBuffer.
C3D_API bool castor3d::AtomicCounterBuffer::initialise | ( | uint32_t | size, |
uint32_t | index | ||
) |
Initialise le tampon GPU.
[in] | size | Taille du tampon. |
[in] | index | Le point d'attache du tampon. |
false
if any problem occured. 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.
[in] | offset | L'offset de départ. |
[in] | count | Le nombre d'éléments à mapper. |
[in] | flags | Les flags de lock. |
C3D_API void castor3d::AtomicCounterBuffer::unbind | ( | ) |
Fonction de désactivation, pour dire au GPU qu'il est désactivé.
true
si tout s'est bien passé. 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.
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.
[in] | offset | L'offset de départ. |
[in] | count | Nombre d'éléments. |
[in] | buffer | Les données. |
|
protected |
Le tampon GPU.
Référencé par getGpuBuffer().
|
protected |
Le décalage dans le tampon GPU.