Castor3D 0.13.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::PoolUniformBuffer

#include <PoolUniformBuffer.hpp>

Fonctions membres publiques

C3D_API PoolUniformBuffer (RenderSystem const &renderSystem, castor::ArrayView< uint8_t > data, VkBufferUsageFlags usage, VkMemoryPropertyFlags flags, castor::String debugName, ashes::QueueShare sharingMode={})
 Constructeur. Plus de détails...
 
C3D_API uint32_t initialise (RenderDevice const &device)
 Initialise le tampon GPU. Plus de détails...
 
C3D_API void cleanup (RenderDevice const &device)
 Nettoie le tampon GPU. Plus de détails...
 
C3D_API bool hasAvailable (VkDeviceSize size) const
 
C3D_API bool hasAllocated () const
 
C3D_API MemChunk allocate (VkDeviceSize size)
 Alloue une zone mémoire pour un CPU buffer. Plus de détails...
 
C3D_API void deallocate (VkDeviceSize offset)
 Désalloue de la mémoire. Plus de détails...
 
template<typename DataT >
DataT const & getData (VkDeviceSize offset) const
 
template<typename DataT >
DataT & getData (VkDeviceSize offset)
 
castor::ArrayView< uint8_t > const & getDatas () const
 
castor::ArrayView< uint8_t > & getDatas ()
 
bool hasBuffer () const
 
ashes::UniformBuffer const & getBuffer () const
 
 operator ashes::UniformBuffer const & () const
 
ashes::UniformBuffer & getBuffer ()
 
 operator ashes::UniformBuffer & ()
 
uint32_t getElementSize () const
 
uint32_t getAlignedSize (uint32_t size) const
 Récupère la taille alignée d'un élément. Plus de détails...
 
uint32_t getAlignedSize () const
 

Documentation des constructeurs et destructeur

◆ PoolUniformBuffer()

C3D_API castor3d::PoolUniformBuffer::PoolUniformBuffer ( RenderSystem const &  renderSystem,
castor::ArrayView< uint8_t >  data,
VkBufferUsageFlags  usage,
VkMemoryPropertyFlags  flags,
castor::String  debugName,
ashes::QueueShare  sharingMode = {} 
)

Constructeur.

Paramètres
[in]renderSystemLe RenderSystem.
[in]dataLes données mappées
[in]usageLes indicateurs d'utilisation du tampon.
[in]flagsLes indicateurs de mémoire du tampon.
[in]debugNameLe nom debug du tampon.
[in]sharingModeLe mode de partage.

Documentation des fonctions membres

◆ allocate()

C3D_API MemChunk castor3d::PoolUniformBuffer::allocate ( VkDeviceSize  size)

Alloue une zone mémoire pour un CPU buffer.

Paramètres
sizeLa taille voulue.
Renvoie
L'offset de la zone mémoire.

◆ cleanup()

C3D_API void castor3d::PoolUniformBuffer::cleanup ( RenderDevice const &  device)

Nettoie le tampon GPU.

Paramètres
[in]deviceLe device GPU.

◆ deallocate()

C3D_API void castor3d::PoolUniformBuffer::deallocate ( VkDeviceSize  offset)

Désalloue de la mémoire.

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

◆ getAlignedSize() [1/2]

uint32_t castor3d::PoolUniformBuffer::getAlignedSize ( ) const
inline
Renvoie
La taille alignée d'un élément.

Références getAlignedSize(), et getElementSize().

Référencé par getAlignedSize().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getAlignedSize() [2/2]

uint32_t castor3d::PoolUniformBuffer::getAlignedSize ( uint32_t  size) const
inline

Récupère la taille alignée d'un élément.

Paramètres
[in]sizeLa taille d'un élément.
Renvoie
La taille alignée.

Références getAlignedSize(), et getBuffer().

Référencé par castor3d::UniformBufferOffsetT< DataT >::getAlignedSize(), et castor3d::UniformBufferOffsetT< DataT >::getData().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getBuffer() [1/2]

ashes::UniformBuffer & castor3d::PoolUniformBuffer::getBuffer ( )
inline
Renvoie
Le tampon interne.

◆ getBuffer() [2/2]

ashes::UniformBuffer const & castor3d::PoolUniformBuffer::getBuffer ( ) const
inline

◆ getData() [1/2]

template<typename DataT >
DataT & castor3d::PoolUniformBuffer::getData ( VkDeviceSize  offset)
inline
Renvoie
La n-ème instance des données.
Paramètres
[in]offsetL'offset de la zone mémoire.

◆ getData() [2/2]

template<typename DataT >
DataT const & castor3d::PoolUniformBuffer::getData ( VkDeviceSize  offset) const
inline
Renvoie
La n-ème instance des données.
Paramètres
[in]offsetL'offset de la zone mémoire.

Référencé par castor3d::UniformBufferOffsetT< DataT >::getData().

Voici le graphe des appelants de cette fonction :

◆ getDatas() [1/2]

castor::ArrayView< uint8_t > & castor3d::PoolUniformBuffer::getDatas ( )
inline
Renvoie
Les données.

◆ getDatas() [2/2]

castor::ArrayView< uint8_t > const & castor3d::PoolUniformBuffer::getDatas ( ) const
inline
Renvoie
Les données.

◆ getElementSize()

uint32_t castor3d::PoolUniformBuffer::getElementSize ( ) const
inline
Renvoie
La taille d'un élément du tampon.

Références getBuffer(), et getElementSize().

Référencé par getAlignedSize(), et getElementSize().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ hasAllocated()

C3D_API bool castor3d::PoolUniformBuffer::hasAllocated ( ) const
Renvoie
true si au moins un élément a été alloué.

◆ hasAvailable()

C3D_API bool castor3d::PoolUniformBuffer::hasAvailable ( VkDeviceSize  size) const
Paramètres
sizeLa taille voulue.
Renvoie
true s'il y a assez de mémoire restante pour un nouvel élément.

◆ hasBuffer()

bool castor3d::PoolUniformBuffer::hasBuffer ( ) const
inline
Renvoie
false si le tampon interne n'existe pas.

Référencé par castor3d::UniformBufferOffsetT< DataT >::operator bool().

Voici le graphe des appelants de cette fonction :

◆ initialise()

C3D_API uint32_t castor3d::PoolUniformBuffer::initialise ( RenderDevice const &  device)

Initialise le tampon GPU.

Paramètres
[in]deviceLe device GPU.

◆ operator ashes::UniformBuffer &()

castor3d::PoolUniformBuffer::operator ashes::UniformBuffer & ( )
inline

◆ operator ashes::UniformBuffer const &()

castor3d::PoolUniformBuffer::operator ashes::UniformBuffer const & ( ) const
inline

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