Castor3D
..
|
Classe de gestion de tampon 3D. Plus de détails...
Fonctions membres publiques | |
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, 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, 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< 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< 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 |
T const & | operator[] (uint32_t p_index) const |
Opérateur d'indexation. Plus de détails... | |
T & | operator[] (uint32_t p_index) |
Opérateur d'indexation. Plus de détails... | |
void | AddElement (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... | |
T const * | data () const |
Récupère le pointeur sur les données. Plus de détails... | |
T * | data () |
Récupère le pointeur sur les données. Plus de détails... | |
Types protégés | |
using | MyGpuBuffer = GpuBuffer< T > |
using | GpuBufferUPtr = std::unique_ptr< MyGpuBuffer > |
Fonctions membres protégées | |
DECLARE_TPL_VECTOR (T, 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... | |
Attributs protégés | |
GpuBufferUPtr | m_gpuBuffer |
TArray | m_data |
uint32_t | m_savedSize { 0u } |
Classe de gestion de tampon 3D.
|
protected |
|
protected |
|
inlineexplicitprotected |
Constructeur.
[in] | p_engine | Le moteur. |
|
inlineprotected |
Destructeur.
|
inline |
Ajoute une valeur à la fin du tampon.
[in] | p_value | La valeur. |
|
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] | p_src | Le tampon source. |
[in] | p_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] | p_src | Le tampon source. |
[in] | p_size | Le nombre d'éléments à copier. |
|
inline |
Récupère le pointeur sur les données.
Référencé par Castor3D::VertexBuffer::LinkCoords().
|
inline |
Récupère le pointeur sur les données.
|
protected |
|
inlineprotected |
Nettoie le tampon GPU.
|
inlineprotected |
Initialise le tampon GPU.
[in] | p_type | Type d'accès du tampon. |
[in] | p_nature | Nature d'accès du tampon. |
true
si tout s'est bien passé.
|
inline |
Transfère des données du tampon GPU vers la RAM.
[in] | p_offset | L'offset de départ. |
[in] | p_count | Nombre d'éléments. |
[out] | p_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 |
Récupère la taille allouée du tampon.
Référencé par Castor3D::CpuBuffer< uint8_t >::Grow().
|
inline |
|
inline |
Récupère la taille remplie du tampon.
|
inline |
Augmente la taille allouée du tampon.
[in] | p_uiIncrement | L'incrément de taille. |
|
inline |
Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications.
[in] | p_offset | L'offset de départ. |
[in] | p_count | Le nombre d'éléments à mapper. |
[in] | p_flags | Les flags de lock. |
|
inline |
Opérateur d'indexation.
[in] | p_index | L'index. |
|
inline |
Opérateur d'indexation.
[in] | p_index | L'index. |
|
inline |
Définit la taille allouée du tampon.
[in] | p_uiNewSize | 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] | p_offset | L'offset de départ. |
[in] | p_count | Nombre d'éléments. |
[in] | p_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 |
Les données du tampon. La taille sauvegardée, afin de toujours l'avoir après un clear.
Référencé par Castor3D::CpuBuffer< uint8_t >::AddElement(), Castor3D::CpuBuffer< uint8_t >::Clear(), Castor3D::CpuBuffer< uint8_t >::data(), Castor3D::CpuBuffer< uint8_t >::DoInitialise(), Castor3D::CpuBuffer< uint8_t >::Download(), Castor3D::CpuBuffer< uint8_t >::GetCapacity(), Castor3D::CpuBuffer< uint8_t >::GetSize(), Castor3D::CpuBuffer< uint8_t >::Grow(), 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 >::DoCleanup(), Castor3D::CpuBuffer< uint8_t >::DoInitialise(), 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 |
Référencé par Castor3D::CpuBuffer< uint8_t >::Clear(), et Castor3D::CpuBuffer< uint8_t >::GetSize().