Castor3D  ..
Fonctions membres publiques | Types protégés | Liste de tous les membres
Référence du modèle de la classe Castor3D::GpuBuffer< T >abstract

Classe de base pour les tampons dépendants du renderer. Plus de détails...

Fonctions membres publiques

 GpuBuffer ()
 Constructeur. Plus de détails...
 
virtual ~GpuBuffer ()
 Destructeur. Plus de détails...
 
virtual bool Create ()
 Fonction de création. Plus de détails...
 
virtual void Destroy ()
 Fonction de destruction. Plus de détails...
 
virtual bool Initialise (eBUFFER_ACCESS_TYPE p_eType, eBUFFER_ACCESS_NATURE p_eNature, Castor3D::ShaderProgramBaseSPtr p_pProgram=nullptr)=0
 Fonction d'initialisation, utilisée par les VBOs. Plus de détails...
 
virtual void Cleanup ()
 Fonction de nettoyage. Plus de détails...
 
virtual T * Lock (uint32_t p_uiOffset, uint32_t p_uiCount, uint32_t p_uiFlags)=0
 Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications. Plus de détails...
 
virtual void Unlock ()=0
 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...
 
virtual bool Bind ()=0
 Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails...
 
virtual bool Bind (uint32_t p_uiCount)
 Fonction d'activation, pour dire au GPU qu'il est activé Plus de détails...
 
virtual void Unbind ()=0
 Fonction de désactivation, pour dire au GPU qu'il est désactivé Plus de détails...
 
virtual bool Fill (T const *p_pBuffer, ptrdiff_t p_iSize, Castor3D::eBUFFER_ACCESS_TYPE p_eType, Castor3D::eBUFFER_ACCESS_NATURE p_eNature)=0
 Transfère des données au tampon GPU à partir de la ram. Plus de détails...
 

Types protégés

typedef Castor3D::CpuBuffer< T > * HardwareBufferPtr
 

Description détaillée

template<typename T>
class Castor3D::GpuBuffer< T >

Classe de base pour les tampons dépendants du renderer.

Auteur
Sylvain DOREMUS
Version
0.6.5.0
Date
22/10/2011
Remarques

Documentation des définitions de type membres

template<typename T >
typedef Castor3D::CpuBuffer< T >* Castor3D::GpuBuffer< T >::HardwareBufferPtr
protected

Documentation des constructeurs et destructeur

template<typename T >
Castor3D::GpuBuffer< T >::GpuBuffer ( )
inline

Constructeur.

template<typename T >
virtual Castor3D::GpuBuffer< T >::~GpuBuffer ( )
inlinevirtual

Destructeur.

Documentation des fonctions membres

template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Bind ( )
pure virtual

Fonction d'activation, pour dire au GPU qu'il est activé

Renvoie
true si tout s'est bien passé
template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Bind ( uint32_t  p_uiCount)
inlinevirtual

Fonction d'activation, pour dire au GPU qu'il est activé

Remarques
Utilisé pour l'instanciation
Paramètres
[in]p_uiCountNombre d'instances
Renvoie
true si tout s'est bien passé
template<typename T >
virtual void Castor3D::GpuBuffer< T >::Cleanup ( )
inlinevirtual

Fonction de nettoyage.

template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Create ( )
inlinevirtual

Fonction de création.

Renvoie
true si tout s'est bien passé
template<typename T >
virtual void Castor3D::GpuBuffer< T >::Destroy ( )
inlinevirtual

Fonction de destruction.

template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Fill ( T const *  p_pBuffer,
ptrdiff_t  p_iSize,
Castor3D::eBUFFER_ACCESS_TYPE  p_eType,
Castor3D::eBUFFER_ACCESS_NATURE  p_eNature 
)
pure virtual

Transfère des données au tampon GPU à partir de la ram.

Paramètres
[in]p_pBufferLes données
[in]p_iSizeTaille du tampon de données
[in]p_eTypeType de transfert
[in]p_eNatureNature du transfert
Renvoie
true si tout s'est bien passé
template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Initialise ( eBUFFER_ACCESS_TYPE  p_eType,
eBUFFER_ACCESS_NATURE  p_eNature,
Castor3D::ShaderProgramBaseSPtr  p_pProgram = nullptr 
)
pure virtual

Fonction d'initialisation, utilisée par les VBOs.

Paramètres
[in]p_eTypeType d'accès du tampon
[in]p_eNatureNature d'accès du tampon
[in]p_pProgramLe programme de shader
Renvoie
true si tout s'est bien passé
template<typename T >
virtual T* Castor3D::GpuBuffer< T >::Lock ( uint32_t  p_uiOffset,
uint32_t  p_uiCount,
uint32_t  p_uiFlags 
)
pure virtual

Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications.

Remarques
Mappe de tampon[p_uiOffset*sizeof( T )] à tampon[(p_uiOffset+p_uiSize-1) * sizeof( T )]
Paramètres
[in]p_uiOffsetL'offset de départ
[in]p_uiCountLe nombre d'éléments à mapper
[in]p_uiFlagsLes flags de lock
Renvoie
L'adresse du tampon mappé
template<typename T >
virtual void Castor3D::GpuBuffer< T >::Unbind ( )
pure virtual

Fonction de désactivation, pour dire au GPU qu'il est désactivé

template<typename T >
virtual void Castor3D::GpuBuffer< T >::Unlock ( )
pure virtual

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

La documentation de cette classe a été générée à partir des fichiers suivants :