Castor3D
..
|
Classe de gestion de tampon 3D. Plus de détails...
Fonctions membres publiques | |
void | Destroy () |
Fonction de destruction. Plus de détails... | |
void | Cleanup () |
Fonction de nettoyage. Plus de détails... | |
bool | Initialise (eBUFFER_ACCESS_TYPE p_type, eBUFFER_ACCESS_NATURE p_nature) |
Fonction d'initialisation, initialise le GPU tampon. Plus de détails... | |
T * | Lock (uint32_t p_offset, uint32_t p_count, uint32_t 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... | |
bool | Fill (T const *p_buffer, ptrdiff_t p_size, Castor3D::eBUFFER_ACCESS_TYPE p_type, Castor3D::eBUFFER_ACCESS_NATURE p_nature) |
Transfère des données au tampon GPU à partir de la ram. Plus de détails... | |
bool | 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 | SetElement (uint32_t p_index, T const &p_value) |
Définit la valeur de l'élément à l'index donné 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 | Reserve (uint32_t p_uiIncrement) |
Augmente la taille allouée du tampon. Plus de détails... | |
void | Clear () |
Vide le tampon. Plus de détails... | |
bool | IsToDelete () const |
Récupère le statut de suppression du tampon. Plus de détails... | |
bool | IsAssigned () const |
Récupère le statut d'affectation du tampon. Plus de détails... | |
GpuBufferSPtr | GetGpuBuffer () const |
Récupère le tampon GPU. Plus de détails... | |
void | Assign () |
Définit le status d'affectation à true . Plus de détails... | |
void | Unassign () |
Définit le status d'affectation à false . 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 | |
typedef std::shared_ptr< GpuBuffer< T > > | GpuBufferSPtr |
typedef std::weak_ptr< GpuBuffer< T > > | GpuBufferWPtr |
typedef std::weak_ptr< CpuBuffer< T > > | CpuBufferWPtr |
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... | |
Attributs protégés | |
bool | m_bToDelete |
Dit que le tampon doit être détruit à la prochaîne boucle de rendu. Plus de détails... | |
bool | m_bAssigned |
Dit que le tampon s'est vu affecter un tampon GPU. Plus de détails... | |
GpuBufferSPtr | m_pBuffer |
Le tampon GPU. Plus de détails... | |
TArray | m_arrayData |
Les données du tampon. Plus de détails... | |
uint32_t | m_uiSavedSize |
Classe de gestion de tampon 3D.
|
protected |
|
protected |
|
protected |
|
inlineprotected |
Constructeur.
[in] | p_engine | Le moteur |
|
inlineprotected |
Destructeur.
|
inline |
Ajoute une valeur à la fin du tampon.
[in] | p_value | La valeur |
|
inline |
Définit le status d'affectation à true
.
|
inline |
Fonction d'activation, pour dire au GPU qu'il est activé
true
si tout s'est bien passé
|
inline |
Fonction de nettoyage.
|
inline |
Vide le tampon.
|
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 |
|
inline |
Fonction de destruction.
|
inline |
Transfère des données au tampon GPU à partir de la ram.
[in] | p_buffer | Les données |
[in] | p_size | Taille du tampon de données |
[in] | p_type | Type de transfert |
[in] | p_nature | Nature du transfert |
true
si tout s'est bien passé
|
inline |
Récupère la taille allouée du tampon.
Référencé par Castor3D::CpuBuffer< uint8_t >::Reserve().
|
inline |
Récupère le tampon GPU.
Référencé par Castor3D::CpuBuffer< uint8_t >::Bind(), Castor3D::CpuBuffer< uint8_t >::Cleanup(), Castor3D::CpuBuffer< uint8_t >::Destroy(), Castor3D::CpuBuffer< uint8_t >::Fill(), Castor3D::CpuBuffer< uint8_t >::Initialise(), Castor3D::CpuBuffer< uint8_t >::Lock(), Castor3D::CpuBuffer< uint8_t >::Unbind(), et Castor3D::CpuBuffer< uint8_t >::Unlock().
|
inline |
Récupère la taille remplie du tampon.
|
inline |
Fonction d'initialisation, initialise le GPU tampon.
[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 |
Récupère le statut d'affectation du tampon.
|
inline |
Récupère le statut de suppression du tampon.
|
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 |
Augmente la taille allouée du tampon.
[in] | p_uiIncrement | L'incrément de taille |
|
inline |
Définit la taille allouée du tampon.
[in] | p_uiNewSize | La nouvelle taille |
|
inline |
Définit la valeur de l'élément à l'index donné
[in] | p_index | L'index |
[in] | p_value | La valeur |
|
inline |
Définit le status d'affectation à false
.
|
inline |
Fonction de désactivation, pour dire au GPU qu'il est désactivé
true
si tout s'est bien passé
|
inline |
Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus.
|
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 >::GetCapacity(), Castor3D::CpuBuffer< uint8_t >::GetSize(), Castor3D::CpuBuffer< uint8_t >::Reserve(), Castor3D::CpuBuffer< uint8_t >::Resize(), et Castor3D::CpuBuffer< uint8_t >::SetElement().
|
protected |
Dit que le tampon s'est vu affecter un tampon GPU.
Référencé par Castor3D::CpuBuffer< uint8_t >::Assign(), Castor3D::CpuBuffer< uint8_t >::IsAssigned(), et Castor3D::CpuBuffer< uint8_t >::Unassign().
|
protected |
Dit que le tampon doit être détruit à la prochaîne boucle de rendu.
Référencé par Castor3D::CpuBuffer< uint8_t >::IsToDelete().
|
protected |
Le tampon GPU.
Référencé par Castor3D::CpuBuffer< uint8_t >::Destroy(), et Castor3D::CpuBuffer< uint8_t >::GetGpuBuffer().
|
protected |
Référencé par Castor3D::CpuBuffer< uint8_t >::Clear(), et Castor3D::CpuBuffer< uint8_t >::GetSize().