Castor3D 0.16.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 = castor::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 ObjectBufferOffset getBuffer (VkDeviceSize vertexCount, VkDeviceSize indexCount, VkDeviceSize meshletCount, SubmeshComponentCombine const &components)
 Récupère un tampon GPU avec la taille donnée.
 
C3D_API ObjectBufferOffset getBuffer (VkDeviceSize vertexCount, ashes::BufferBase const *indexBuffer, SubmeshComponentCombine const &components)
 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) noexcept
 Libère un tampon GPU.
 
- Fonctions membres publiques hérités de castor::OwnedBy< RenderSystem >
RenderSystem * getOwner () const
 L'objet propriétaire.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< RenderSystem >
 OwnedBy (RenderSystem &owner)
 Constructeur.
 

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,
SubmeshComponentCombine const & components )

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]componentsLes 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,
VkDeviceSize meshletCount,
SubmeshComponentCombine const & components )

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]meshletCountLe nombre de meshlets voulus.
[in]componentsLes 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)
noexcept

Libère un tampon GPU.

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

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