Castor3D
..
|
Classe de gestion de tampon 3D. Plus de détails...
Fonctions membres publiques | |
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, 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, 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< T > const &src, uint32_t size) |
Copie les données du tampon donné dans celui-ci. Plus de détails... | |
GpuBuffer const & | getGpuBuffer () const |
T const & | operator[] (uint32_t index) const |
Opérateur d'indexation. Plus de détails... | |
T & | operator[] (uint32_t index) |
Opérateur d'indexation. Plus de détails... | |
void | addElement (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... | |
T const * | getData () const |
T * | getData () |
auto | begin () |
auto | begin () const |
auto | end () |
auto | end () const |
uint32_t | getOffset () const |
Fonctions membres protégées | |
DECLARE_TPL_VECTOR (T, T) | |
CpuBuffer (Engine &engine) | |
Constructeur. Plus de détails... | |
~CpuBuffer () | |
Destructeur. Plus de détails... | |
void | doInitialise (BufferAccessType accessType, BufferAccessNature accessNature) |
Attributs protégés | |
GpuBufferSPtr | m_gpuBuffer |
TArray | m_data |
uint32_t | m_offset { 0u } |
uint32_t | m_savedSize { 0u } |
BufferAccessType | m_accessType |
BufferAccessNature | m_accessNature |
Classe de gestion de tampon 3D.
|
inlineexplicitprotected |
Constructeur.
[in] | engine | Le moteur. |
|
inlineprotected |
Destructeur.
|
inline |
Ajoute une valeur à la fin du tampon.
[in] | value | La valeur. |
|
inline |
|
inline |
|
inline |
Fonction d'activation, pour dire au GPU qu'il est activé.
|
inline |
Vide le tampon.
|
inline |
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. |
Référencé par castor3d::CpuBuffer< uint8_t >::copy().
|
inline |
Copie les données du tampon donné dans celui-ci.
[in] | src | Le tampon source. |
[in] | size | Le nombre d'éléments à copier. |
|
protected |
|
inlineprotected |
|
inline |
Transfère des données du tampon GPU vers la RAM.
[in] | offset | L'offset de départ. |
[in] | count | Nombre d'éléments. |
[out] | buffer | Les données. |
|
inline |
Transfère toutes les données du tampon GPU vers le CPU.
Référencé par castor3d::CpuBuffer< uint8_t >::download().
|
inline |
|
inline |
|
inline |
Référencé par castor3d::VertexBuffer::linkCoords().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
true
si le tampon est vide.
|
inline |
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. |
|
inline |
Opérateur d'indexation.
[in] | index | L'index. |
|
inline |
Opérateur d'indexation.
[in] | index | L'index. |
|
inline |
Définit la taille allouée du tampon.
[in] | value | La nouvelle taille. |
|
inline |
Fonction de désactivation, pour dire au GPU qu'il est désactivé.
|
inline |
Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus.
|
inline |
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. |
|
inline |
Transfère toutes les données du tampon CPU vers le GPU.
Référencé par castor3d::CpuBuffer< uint8_t >::upload().
|
protected |
Référencé par castor3d::CpuBuffer< uint8_t >::doInitialise().
|
protected |
Nature d'accès du tampon.
Référencé par castor3d::CpuBuffer< uint8_t >::doInitialise().
|
protected |
Les données du tampon.
Référencé par castor3d::CpuBuffer< uint8_t >::addElement(), castor3d::CpuBuffer< uint8_t >::begin(), castor3d::CpuBuffer< uint8_t >::clear(), castor3d::CpuBuffer< uint8_t >::download(), castor3d::CpuBuffer< uint8_t >::end(), castor3d::CpuBuffer< uint8_t >::getData(), castor3d::CpuBuffer< uint8_t >::getSize(), castor3d::CpuBuffer< uint8_t >::isEmpty(), castor3d::CpuBuffer< uint8_t >::operator[](), castor3d::CpuBuffer< uint8_t >::resize(), et castor3d::CpuBuffer< uint8_t >::upload().
|
protected |
Le tampon GPU.
Référencé par castor3d::CpuBuffer< uint8_t >::bind(), castor3d::CpuBuffer< uint8_t >::copy(), castor3d::CpuBuffer< uint8_t >::download(), castor3d::CpuBuffer< uint8_t >::getGpuBuffer(), castor3d::CpuBuffer< uint8_t >::lock(), castor3d::CpuBuffer< uint8_t >::unbind(), castor3d::CpuBuffer< uint8_t >::unlock(), et castor3d::CpuBuffer< uint8_t >::upload().
|
protected |
Le décalage de début du tampon. La taille sauvegardée, afin de toujours l'avoir après un clear.
Référencé par castor3d::CpuBuffer< uint8_t >::copy(), castor3d::CpuBuffer< uint8_t >::download(), castor3d::CpuBuffer< uint8_t >::getOffset(), castor3d::CpuBuffer< uint8_t >::lock(), et castor3d::CpuBuffer< uint8_t >::upload().
|
protected |
Type d'accès du tampon.