Raven Engine v0.1
A modern 3D Game Engine
Loading...
Searching...
No Matches
Raven::VulkanStorageBuffer Class Reference

Vulkan-specific StorageBuffer implementation. More...

#include <VulkanStorageBuffer.h>

Inherits Raven::StorageBuffer.

Public Member Functions

ILLUMINE_API VulkanStorageBuffer (usize size)
 Constructs a VulkanStorageBuffer of given size.
ILLUMINE_API void SetData (void *data, usize size) override
 Uploads data to the uniform buffer.
ILLUMINE_API void Clear () override
ILLUMINE_API void Release () override
ILLUMINE_API void Resize (usize newSize) override
usize GetSize () const override
 Returns the size of the uniform buffer.
VkBuffer GetStorageBuffer () const
 Returns the underlying Vulkan VkBuffer handle.
ILLUMINE_API void Flush () override
Public Member Functions inherited from Raven::StorageBuffer
virtual ~StorageBuffer ()=default
 Virtual destructor.
Public Member Functions inherited from Raven::RefCounted
 RefCounted ()
virtual ~RefCounted ()
void IncRefCount ()
void DecRefCount ()
u32 GetRefCount () const

Additional Inherited Members

Static Public Member Functions inherited from Raven::StorageBuffer
static Ref< StorageBufferCreate (u32 size)
 Creates a uniform buffer of the given size.

Detailed Description

Vulkan-specific StorageBuffer implementation.

Wraps a Vulkan VkBuffer and its device memory for uniform data. Supports CPU updates by mapping host-visible, coherent memory.

Constructor & Destructor Documentation

◆ VulkanStorageBuffer()

Raven::VulkanStorageBuffer::VulkanStorageBuffer ( usize size)

Constructs a VulkanStorageBuffer of given size.

Allocates a Vulkan buffer with uniform buffer usage and maps memory for CPU writes.

Parameters
sizeSize in bytes of the uniform buffer.

Member Function Documentation

◆ Clear()

void Raven::VulkanStorageBuffer::Clear ( )
overridevirtual

Implements Raven::StorageBuffer.

◆ Flush()

void Raven::VulkanStorageBuffer::Flush ( )
overridevirtual

Implements Raven::StorageBuffer.

◆ GetSize()

usize Raven::VulkanStorageBuffer::GetSize ( ) const
inlineoverridevirtual

Returns the size of the uniform buffer.

Returns
Size in bytes.

Implements Raven::StorageBuffer.

◆ GetStorageBuffer()

VkBuffer Raven::VulkanStorageBuffer::GetStorageBuffer ( ) const
inline

Returns the underlying Vulkan VkBuffer handle.

Returns
Vulkan VkBuffer used for uniform data.

◆ Release()

void Raven::VulkanStorageBuffer::Release ( )
overridevirtual

Implements Raven::StorageBuffer.

◆ Resize()

void Raven::VulkanStorageBuffer::Resize ( usize newSize)
overridevirtual

Implements Raven::StorageBuffer.

◆ SetData()

void Raven::VulkanStorageBuffer::SetData ( void * data,
usize size )
overridevirtual

Uploads data to the uniform buffer.

Parameters
dataPointer to the data to copy.
sizeSize in bytes of the data to copy.

Implements Raven::StorageBuffer.


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