Castor3D
..
|
Classe de base pour les tampons dépendants du renderer. Plus de détails...
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 |
Classe de base pour les tampons dépendants du renderer.
|
explicit |
Constructeur.
|
virtual |
Destructeur.
C3D_API uint32_t castor3d::GpuBuffer::allocate | ( | size_t | size | ) |
Alloue une zone mémoire pour un CPU buffer.
[in] | size | La taille requise pour la mémoire. |
|
pure virtual |
Fonction d'activation, pour dire au GPU qu'il est activé.
|
inlinevirtual |
Fonction d'activation, pour dire au GPU qu'il est activé.
[in] | instantiated | Dit si le tampon est instantié. |
Références C3D_API.
|
pure virtual |
Copie les données du tampon donné dans celui-ci.
[in] | src | Le tampon source. |
[in] | srcOffset | L'offset de départ dans le tampon source. |
[in] | dstOffset | L'offset de départ dans ce tampon. |
[in] | size | Le nombre d'éléments à copier. |
|
pure virtual |
Fonction de création.
true
si tout s'est bien passé. C3D_API void castor3d::GpuBuffer::deallocate | ( | uint32_t | offset | ) |
Désalloue de la mémoire.
[in] | offset | L'offset de la zone mémoire. |
|
pure virtual |
Fonction de destruction.
|
pure virtual |
Transfère des données du tampon GPU vers la RAM.
[in] | offset | L'offset de départ. |
[in] | count | Nombre d'éléments. |
[out] | buffer | Les données. |
|
pure virtual |
C3D_API bool castor3d::GpuBuffer::hasAvailable | ( | size_t | size | ) | const |
[in] | size | La taille requise pour la mémoire. |
true
s'il y a assez de mémoire restante pour la taille donnée. C3D_API void castor3d::GpuBuffer::initialiseStorage | ( | uint32_t | numLevels, |
uint32_t | minBlockSize, | ||
BufferAccessType | type, | ||
BufferAccessNature | nature | ||
) |
Initialise le stockage GPU du tampon.
[in] | numLevels | La taille maximale de l'arbre de l'allocateur. |
[in] | minBlockSize | La taille minimale d'un bloc. |
[in] | type | Type d'accès du tampon. |
[in] | nature | Nature d'accès du tampon. |
|
pure virtual |
Locke le tampon, càd le mappe en mémoire ram afin d'y autoriser des modifications.
[in] | offset | L'offset de départ. |
[in] | count | Le nombre d'éléments à mapper. |
[in] | flags | Les flags de lock. |
|
pure virtual |
Définit le point d'attache du tampon.
[in] | index | Le point d'attache. |
|
pure virtual |
Fonction de désactivation, pour dire au GPU qu'il est désactivé.
|
pure virtual |
Un locke le tampon, càd l'unmappe de la mémoire ram afin de ne plus autoriser de modifications dessus.
|
pure virtual |
Transfère des données au tampon GPU à partir de la RAM.
[in] | offset | L'offset de départ. |
[in] | count | Nombre d'éléments. |
[in] | buffer | Les données. |
|
friend |