Castor3D  ..
Fonctions membres publiques | Amis | Liste de tous les membres
Référence de la classe castor3d::GpuBufferabstract

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

+ Graphe d'héritage de castor3d::GpuBuffer:
+ Graphe de collaboration de castor3d::GpuBuffer:

Fonctions membres publiques

C3D_API GpuBuffer (RenderSystem &renderSystem)
 Constructeur. Plus de détails...
 
virtual C3D_API ~GpuBuffer ()
 Destructeur. Plus de détails...
 
virtual C3D_API bool create ()=0
 Fonction de création. Plus de détails...
 
virtual C3D_API void destroy ()=0
 Fonction de destruction. Plus de détails...
 
C3D_API void initialiseStorage (uint32_t numLevels, uint32_t minBlockSize, BufferAccessType type, BufferAccessNature nature)
 Initialise le stockage GPU du tampon. Plus de détails...
 
C3D_API bool hasAvailable (size_t size) const
 
C3D_API uint32_t allocate (size_t size)
 Alloue une zone mémoire pour un CPU buffer. Plus de détails...
 
C3D_API void deallocate (uint32_t offset)
 Désalloue de la mémoire. Plus de détails...
 
virtual C3D_API void setBindingPoint (uint32_t index) const =0
 Définit le point d'attache du tampon. Plus de détails...
 
virtual C3D_API uint32_t getBindingPoint () const =0
 
virtual C3D_API uint8_t * lock (uint32_t offset, uint32_t count, AccessTypes const &flags) const =0
 Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications. Plus de détails...
 
virtual C3D_API void unlock () const =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 C3D_API void bind () const =0
 Fonction d'activation, pour dire au GPU qu'il est activé. Plus de détails...
 
virtual C3D_API void bind (bool instantiated) const
 Fonction d'activation, pour dire au GPU qu'il est activé. Plus de détails...
 
virtual C3D_API void unbind () const =0
 Fonction de désactivation, pour dire au GPU qu'il est désactivé. Plus de détails...
 
virtual C3D_API void copy (GpuBuffer const &src, uint32_t srcOffset, uint32_t dstOffset, uint32_t size) const =0
 Copie les données du tampon donné dans celui-ci. Plus de détails...
 
virtual C3D_API void upload (uint32_t offset, uint32_t count, uint8_t const *buffer) const =0
 Transfère des données au tampon GPU à partir de la RAM. Plus de détails...
 
virtual C3D_API void download (uint32_t offset, uint32_t count, uint8_t *buffer) const =0
 Transfère des données du tampon GPU vers la RAM. Plus de détails...
 

Amis

class GpuBufferPool
 

Description détaillée

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

Auteur
Sylvain DOREMUS
Version
0.6.5.0
Date
22/10/2011
Remarques
Contient les données pour de multiples tampons CPU.

Documentation des constructeurs et destructeur

◆ GpuBuffer()

C3D_API castor3d::GpuBuffer::GpuBuffer ( RenderSystem renderSystem)
explicit

Constructeur.

◆ ~GpuBuffer()

virtual C3D_API castor3d::GpuBuffer::~GpuBuffer ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ allocate()

C3D_API uint32_t castor3d::GpuBuffer::allocate ( size_t  size)

Alloue une zone mémoire pour un CPU buffer.

Paramètres
[in]sizeLa taille requise pour la mémoire.
Renvoie
L'offset de la zone mémoire.

◆ bind() [1/2]

virtual C3D_API void castor3d::GpuBuffer::bind ( ) const
pure virtual

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

◆ bind() [2/2]

virtual C3D_API void castor3d::GpuBuffer::bind ( bool  instantiated) const
inlinevirtual

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

Remarques
Utilisé pour l'instanciation.
Paramètres
[in]instantiatedDit si le tampon est instantié.

Références C3D_API.

◆ copy()

virtual C3D_API void castor3d::GpuBuffer::copy ( GpuBuffer const &  src,
uint32_t  srcOffset,
uint32_t  dstOffset,
uint32_t  size 
) const
pure virtual

Copie les données du tampon donné dans celui-ci.

Paramètres
[in]srcLe tampon source.
[in]srcOffsetL'offset de départ dans le tampon source.
[in]dstOffsetL'offset de départ dans ce tampon.
[in]sizeLe nombre d'éléments à copier.

◆ create()

virtual C3D_API bool castor3d::GpuBuffer::create ( )
pure virtual

Fonction de création.

Renvoie
true si tout s'est bien passé.

◆ deallocate()

C3D_API void castor3d::GpuBuffer::deallocate ( uint32_t  offset)

Désalloue de la mémoire.

Paramètres
[in]offsetL'offset de la zone mémoire.

◆ destroy()

virtual C3D_API void castor3d::GpuBuffer::destroy ( )
pure virtual

Fonction de destruction.

◆ download()

virtual C3D_API void castor3d::GpuBuffer::download ( uint32_t  offset,
uint32_t  count,
uint8_t *  buffer 
) const
pure virtual

Transfère des données du tampon GPU vers la RAM.

Remarques
Transfère les données de tampon[offset*sizeof( T )] à tampon[(offset+count-1) * sizeof( T )].
Paramètres
[in]offsetL'offset de départ.
[in]countNombre d'éléments.
[out]bufferLes données.

◆ getBindingPoint()

virtual C3D_API uint32_t castor3d::GpuBuffer::getBindingPoint ( ) const
pure virtual
Renvoie
Le point d'attache du tampon.

◆ hasAvailable()

C3D_API bool castor3d::GpuBuffer::hasAvailable ( size_t  size) const
Paramètres
[in]sizeLa taille requise pour la mémoire.
Renvoie
true s'il y a assez de mémoire restante pour la taille donnée.

◆ initialiseStorage()

C3D_API void castor3d::GpuBuffer::initialiseStorage ( uint32_t  numLevels,
uint32_t  minBlockSize,
BufferAccessType  type,
BufferAccessNature  nature 
)

Initialise le stockage GPU du tampon.

Paramètres
[in]numLevelsLa taille maximale de l'arbre de l'allocateur.
[in]minBlockSizeLa taille minimale d'un bloc.
[in]typeType d'accès du tampon.
[in]natureNature d'accès du tampon.

◆ lock()

virtual C3D_API uint8_t* castor3d::GpuBuffer::lock ( uint32_t  offset,
uint32_t  count,
AccessTypes const &  flags 
) const
pure virtual

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

Remarques
Mappe de tampon[offset*sizeof( T )] à tampon[(offset+count-1) * sizeof( T )].
Paramètres
[in]offsetL'offset de départ.
[in]countLe nombre d'éléments à mapper.
[in]flagsLes flags de lock.
Renvoie
L'adresse du tampon mappé.

◆ setBindingPoint()

virtual C3D_API void castor3d::GpuBuffer::setBindingPoint ( uint32_t  index) const
pure virtual

Définit le point d'attache du tampon.

Paramètres
[in]indexLe point d'attache.

◆ unbind()

virtual C3D_API void castor3d::GpuBuffer::unbind ( ) const
pure virtual

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

◆ unlock()

virtual C3D_API void castor3d::GpuBuffer::unlock ( ) const
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.

◆ upload()

virtual C3D_API void castor3d::GpuBuffer::upload ( uint32_t  offset,
uint32_t  count,
uint8_t const *  buffer 
) const
pure virtual

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

Remarques
Transfère les données de tampon[offset*sizeof( T )] à tampon[(offset+count-1) * sizeof( T )].
Paramètres
[in]offsetL'offset de départ.
[in]countNombre d'éléments.
[in]bufferLes données.

Documentation des fonctions amies et associées

◆ GpuBufferPool

friend class GpuBufferPool
friend

La documentation de cette classe a été générée à partir du fichier suivant :