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

Represents a GPU storage buffer for shader constant data.Provides an interface to create uniform buffers and update their contents. Designed to be implemented by backend-specific subclasses. More...

#include <StorageBuffer.h>

Inherits Raven::RefCounted.

Inherited by Raven::VulkanStorageBuffer.

Public Member Functions

virtual ~StorageBuffer ()=default
 Virtual destructor.
virtual void SetData (void *data, usize size)=0
 Updates the data stored in the uniform buffer.
virtual void Release ()=0
virtual usize GetSize () const =0
virtual void Clear ()=0
virtual void Flush ()=0
virtual void Resize (usize newSize)=0
Public Member Functions inherited from Raven::RefCounted
 RefCounted ()
virtual ~RefCounted ()
void IncRefCount ()
void DecRefCount ()
u32 GetRefCount () const

Static Public Member Functions

static Ref< StorageBufferCreate (u32 size)
 Creates a uniform buffer of the given size.

Detailed Description

Represents a GPU storage buffer for shader constant data.

Provides an interface to create uniform buffers and update their contents. Designed to be implemented by backend-specific subclasses.

Constructor & Destructor Documentation

◆ ~StorageBuffer()

virtual Raven::StorageBuffer::~StorageBuffer ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ Clear()

virtual void Raven::StorageBuffer::Clear ( )
pure virtual

Implemented in Raven::VulkanStorageBuffer.

◆ Create()

Ref< StorageBuffer > Raven::StorageBuffer::Create ( u32 size)
static

Creates a uniform buffer of the given size.

Parameters
sizeSize in bytes of the uniform buffer.
Returns
Reference-counted pointer to the created StorageBuffer.

◆ Flush()

virtual void Raven::StorageBuffer::Flush ( )
pure virtual

Implemented in Raven::VulkanStorageBuffer.

◆ GetSize()

virtual usize Raven::StorageBuffer::GetSize ( ) const
pure virtual

Implemented in Raven::VulkanStorageBuffer.

◆ Release()

virtual void Raven::StorageBuffer::Release ( )
pure virtual

Implemented in Raven::VulkanStorageBuffer.

◆ Resize()

virtual void Raven::StorageBuffer::Resize ( usize newSize)
pure virtual

Implemented in Raven::VulkanStorageBuffer.

◆ SetData()

virtual void Raven::StorageBuffer::SetData ( void * data,
usize size )
pure virtual

Updates the data stored in the uniform buffer.

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

Implemented in Raven::VulkanStorageBuffer.


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