Castor3D 0.12.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | List of all members
castor3d::SkinnedObjectBufferPool Class Reference

#include <ObjectBufferPool.hpp>

Inheritance diagram for castor3d::SkinnedObjectBufferPool:
Inheritance graph
[legend]
Collaboration diagram for castor3d::SkinnedObjectBufferPool:
Collaboration graph
[legend]

Classes

struct  ModelBuffers
 

Public Types

using BufferArray = std::vector< std::unique_ptr< ModelBuffers > >
 

Public Member Functions

C3D_API SkinnedObjectBufferPool (RenderDevice const &device, castor::String debugName)
 Constructor. More...
 
C3D_API void cleanup ()
 Cleans up all GPU buffers. More...
 
C3D_API void upload (ashes::CommandBuffer const &cb)
 Uploads all GPU buffers to VRAM. More...
 
C3D_API ObjectBufferOffset getBuffer (VkDeviceSize vertexCount, VkDeviceSize indexCount)
 Retrieves a GPU buffer with the given size. More...
 
C3D_API void putBuffer (ObjectBufferOffset const &bufferOffset)
 Releases a GPU buffer. More...
 

Member Typedef Documentation

◆ BufferArray

using castor3d::SkinnedObjectBufferPool::BufferArray = std::vector< std::unique_ptr< ModelBuffers > >

Constructor & Destructor Documentation

◆ SkinnedObjectBufferPool()

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

Constructor.

Parameters
[in]deviceThe GPU device.
[in]debugNameThe debug name.

Member Function Documentation

◆ cleanup()

C3D_API void castor3d::SkinnedObjectBufferPool::cleanup ( )

Cleans up all GPU buffers.

◆ getBuffer()

C3D_API ObjectBufferOffset castor3d::SkinnedObjectBufferPool::getBuffer ( VkDeviceSize  vertexCount,
VkDeviceSize  indexCount 
)

Retrieves a GPU buffer with the given size.

Parameters
[in]vertexCountThe wanted vertex count.
[in]indexCountThe wanted index count.
Returns
The GPU buffer.

◆ putBuffer()

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

Releases a GPU buffer.

Parameters
[in]bufferOffsetThe buffer offset to release.

◆ upload()

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

Uploads all GPU buffers to VRAM.

Parameters
[in]cbThe command buffer on which transfer commands are recorded.

The documentation for this class was generated from the following file: