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

Vulkan backend implementation of a vertex buffer. More...

#include <VulkanVertexBuffer.h>

Inherits Raven::VertexBuffer.

Public Member Functions

ILLUMINE_API VulkanVertexBuffer (void *data, u32 size)
 Constructs a VulkanVertexBuffer with provided vertex data.
ILLUMINE_API VulkanVertexBuffer (u32 size)
ILLUMINE_API ~VulkanVertexBuffer ()=default
 Destructor cleans up Vulkan buffer and memory.
ILLUMINE_API void Release () override
ILLUMINE_API void SetData (const void *data, u32 size) override
VkBuffer GetVulkanBuffer () const
 Returns the underlying Vulkan VkBuffer handle.
Public Member Functions inherited from Raven::VertexBuffer
virtual ~VertexBuffer ()=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::VertexBuffer
static Ref< VertexBufferCreate (void *data, u32 size)
 Creates an immutable vertex buffer with the given data.
static Ref< VertexBufferCreateDynamic (u32 size)
 Creates a mutable vertex buffer with the given data.

Detailed Description

Vulkan backend implementation of a vertex buffer.

Manages a Vulkan VkBuffer and its associated device memory to store vertex data on the GPU. Data is initially copied via a staging buffer before being transferred to device-local memory.

Constructor & Destructor Documentation

◆ VulkanVertexBuffer() [1/2]

Raven::VulkanVertexBuffer::VulkanVertexBuffer ( void * data,
u32 size )

Constructs a VulkanVertexBuffer with provided vertex data.

Creates a staging buffer to upload vertex data, then transfers it to a device-local Vulkan buffer.

Parameters
dataPointer to vertex data to upload.
sizeSize in bytes of the vertex data.

◆ VulkanVertexBuffer() [2/2]

Raven::VulkanVertexBuffer::VulkanVertexBuffer ( u32 size)

◆ ~VulkanVertexBuffer()

ILLUMINE_API Raven::VulkanVertexBuffer::~VulkanVertexBuffer ( )
default

Destructor cleans up Vulkan buffer and memory.

Member Function Documentation

◆ GetVulkanBuffer()

VkBuffer Raven::VulkanVertexBuffer::GetVulkanBuffer ( ) const
inline

Returns the underlying Vulkan VkBuffer handle.

Returns
VkBuffer Vulkan buffer handle storing vertex data.

◆ Release()

void Raven::VulkanVertexBuffer::Release ( )
overridevirtual

Implements Raven::VertexBuffer.

◆ SetData()

void Raven::VulkanVertexBuffer::SetData ( const void * data,
u32 size )
overridevirtual

Implements Raven::VertexBuffer.


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