Castor3D 0.15.0
Multiplatform 3D engine
Classes | Types publics | Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::ObjectBufferPool

#include <ObjectBufferPool.hpp>

Graphe d'héritage de castor3d::ObjectBufferPool:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::ObjectBufferPool:
Collaboration graph
[légende]

Classes

struct  ModelBuffers
 

Types publics

using BufferArray = std::vector< ModelBuffers >
 

Fonctions membres publiques

C3D_API ObjectBufferPool (RenderDevice const &device, castor::String debugName)
 Constructeur.
 
C3D_API void cleanup ()
 Nettoie tous les tampons GPU.
 
C3D_API void upload (ashes::CommandBuffer const &cb)
 Met à jour tous les tampons GPU en VRAM.
 
C3D_API ObjectBufferOffset getBuffer (VkDeviceSize vertexCount, VkDeviceSize indexCount, SubmeshFlags submeshFlags)
 Récupère un tampon GPU avec la taille donnée.
 
C3D_API ObjectBufferOffset getBuffer (VkDeviceSize vertexCount, ashes::BufferBase const *indexBuffer, SubmeshFlags submeshFlags)
 Récupère un tampon GPU avec la taille donnée.
 
C3D_API ModelBuffers const & getBuffers (ashes::BufferBase const &buffer)
 
C3D_API ashes::BufferBase const & getIndexBuffer (ashes::BufferBase const &buffer)
 
C3D_API void putBuffer (ObjectBufferOffset const &bufferOffset)
 Libère un tampon GPU.
 

Documentation des définitions de type membres

◆ BufferArray

Documentation des constructeurs et destructeur

◆ ObjectBufferPool()

C3D_API castor3d::ObjectBufferPool::ObjectBufferPool ( RenderDevice const &  device,
castor::String  debugName 
)
explicit

Constructeur.

Paramètres
[in]deviceLe device GPU.
[in]debugNameLe nom debug.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::ObjectBufferPool::cleanup ( )

Nettoie tous les tampons GPU.

◆ getBuffer() [1/2]

C3D_API ObjectBufferOffset castor3d::ObjectBufferPool::getBuffer ( VkDeviceSize  vertexCount,
ashes::BufferBase const *  indexBuffer,
SubmeshFlags  submeshFlags 
)

Récupère un tampon GPU avec la taille donnée.

Paramètres
[in]vertexCountLe nombre de sommets voulus.
[in]indexBufferLe buffer d'indices à lier au résultat.
[in]submeshFlagsLes composants pour lesquels le résultat aura un buffer alloué.
Renvoie
Le tampon GPU.

◆ getBuffer() [2/2]

C3D_API ObjectBufferOffset castor3d::ObjectBufferPool::getBuffer ( VkDeviceSize  vertexCount,
VkDeviceSize  indexCount,
SubmeshFlags  submeshFlags 
)

Récupère un tampon GPU avec la taille donnée.

Paramètres
[in]vertexCountLe nombre de sommets voulus.
[in]indexCountLe nombre d'indices voulus.
[in]submeshFlagsLes composants pour lesquels le résultat aura un buffer alloué.
Renvoie
Le tampon GPU.

◆ getBuffers()

C3D_API ModelBuffers const & castor3d::ObjectBufferPool::getBuffers ( ashes::BufferBase const &  buffer)
Paramètres
[in]bufferLe buffer de positions.
Renvoie
Les buffers de modèle liés au buffer de positions donné.

◆ getIndexBuffer()

C3D_API ashes::BufferBase const & castor3d::ObjectBufferPool::getIndexBuffer ( ashes::BufferBase const &  buffer)
Paramètres
[in]bufferLe buffer de positions.
Renvoie
Le buffer d'indices lié buffer de positions donné.

◆ putBuffer()

C3D_API void castor3d::ObjectBufferPool::putBuffer ( ObjectBufferOffset const &  bufferOffset)

Libère un tampon GPU.

Paramètres
[in]bufferOffsetLe tampon à libérer.

◆ upload()

C3D_API void castor3d::ObjectBufferPool::upload ( ashes::CommandBuffer const &  cb)

Met à jour tous les tampons GPU en VRAM.

Paramètres
[in]cbLe command buffer sur lequel les commandes de transfert sont enregistrées.

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