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...

+ Graphe d'héritage de Castor3D::GpuBuffer< T >:
+ Graphe de collaboration de Castor3D::GpuBuffer< T >:

Fonctions membres publiques

 GpuBuffer (RenderSystem &p_renderSystem)
 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_type, eBUFFER_ACCESS_NATURE p_nature)=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_offset, uint32_t p_count, uint32_t p_flags)=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 (bool p_instantiated)
 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_buffer, ptrdiff_t p_size, Castor3D::eBUFFER_ACCESS_TYPE p_type, Castor3D::eBUFFER_ACCESS_NATURE p_nature)=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 ( RenderSystem p_renderSystem)
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é

Référencé par Castor3D::GpuBuffer< T >::Cleanup().

+ Voici le graphe des appelants de cette fonction :

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

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

Remarques
Utilisé pour l'instanciation
Paramètres
[in]p_instantiatedDit si le tampon est instantié
Renvoie
true si tout s'est bien passé

Références Castor3D::GpuBuffer< T >::Fill(), et Castor3D::GpuBuffer< T >::Unbind().

+ Voici le graphe d'appel pour cette fonction :

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

Fonction de nettoyage.

Références Castor3D::GpuBuffer< T >::Bind(), Castor3D::GpuBuffer< T >::Lock(), et Castor3D::GpuBuffer< T >::Unlock().

+ Voici le graphe d'appel pour cette fonction :

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.

Références Castor3D::GpuBuffer< T >::Initialise().

+ Voici le graphe d'appel pour cette fonction :

template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Fill ( T const *  p_buffer,
ptrdiff_t  p_size,
Castor3D::eBUFFER_ACCESS_TYPE  p_type,
Castor3D::eBUFFER_ACCESS_NATURE  p_nature 
)
pure virtual

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

Paramètres
[in]p_bufferLes données
[in]p_sizeTaille du tampon de données
[in]p_typeType de transfert
[in]p_natureNature du transfert
Renvoie
true si tout s'est bien passé

Référencé par Castor3D::GpuBuffer< T >::Bind().

+ Voici le graphe des appelants de cette fonction :

template<typename T >
virtual bool Castor3D::GpuBuffer< T >::Initialise ( eBUFFER_ACCESS_TYPE  p_type,
eBUFFER_ACCESS_NATURE  p_nature 
)
pure virtual

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

Paramètres
[in]p_typeType d'accès du tampon
[in]p_natureNature d'accès du tampon
Renvoie
true si tout s'est bien passé

Référencé par Castor3D::GpuBuffer< T >::Destroy().

+ Voici le graphe des appelants de cette fonction :

template<typename T >
virtual T* Castor3D::GpuBuffer< T >::Lock ( uint32_t  p_offset,
uint32_t  p_count,
uint32_t  p_flags 
)
pure virtual

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

Remarques
Mappe de tampon[p_offset*sizeof( T )] à tampon[(p_offset+p_uiSize-1) * sizeof( T )]
Paramètres
[in]p_offsetL'offset de départ
[in]p_countLe nombre d'éléments à mapper
[in]p_flagsLes flags de lock
Renvoie
L'adresse du tampon mappé

Référencé par Castor3D::GpuBuffer< T >::Cleanup().

+ Voici le graphe des appelants de cette fonction :

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

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

Référencé par Castor3D::GpuBuffer< T >::Bind().

+ Voici le graphe des appelants de cette fonction :

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

Référencé par Castor3D::GpuBuffer< T >::Cleanup().

+ Voici le graphe des appelants de cette fonction :


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