clan::StorageBuffer Class Reference

Storage Buffer. More...

#include <storage_buffer.h>

+ Inheritance diagram for clan::StorageBuffer:

Public Member Functions

 StorageBuffer ()
 Constructs a null instance.
 
 StorageBuffer (GraphicContext &gc, const void *data, int size, int stride, BufferUsage usage=BufferUsage::dynamic_draw)
 Constructs a buffer.
 
 StorageBuffer (GraphicContext &gc, int size, int stride, BufferUsage usage=BufferUsage::dynamic_draw)
 Constructs a buffer.
 
void copy_from (GraphicContext &gc, TransferBuffer &buffer, int dest_pos=0, int src_pos=0, int size=-1)
 Copies data from transfer buffer.
 
void copy_to (GraphicContext &gc, TransferBuffer &buffer, int dest_pos=0, int src_pos=0, int size=-1)
 Copies data to transfer buffer.
 
StorageBufferProviderget_provider () const
 Get Provider.
 
bool is_null () const
 Returns true if this object is invalid.
 
 operator bool () const
 
bool operator== (const StorageBuffer &other) const
 Handle comparison operator.
 
void throw_if_null () const
 Throw an exception if this object is invalid.
 
void upload_data (GraphicContext &gc, const void *data, int size)
 Uploads data to storage buffer.
 

Detailed Description

Storage Buffer.

Constructor & Destructor Documentation

◆ StorageBuffer() [1/3]

◆ StorageBuffer() [2/3]

clan::StorageBuffer::StorageBuffer ( GraphicContext & gc,
int size,
int stride,
BufferUsage usage = BufferUsage::dynamic_draw )

Constructs a buffer.

Parameters
gc= Graphic Context
size= size - use ProgramObject::get_storage_buffer_size() to calcuate this
usage= Buffer Usage

References clan::dynamic_draw.

◆ StorageBuffer() [3/3]

clan::StorageBuffer::StorageBuffer ( GraphicContext & gc,
const void * data,
int size,
int stride,
BufferUsage usage = BufferUsage::dynamic_draw )

Constructs a buffer.

Parameters
gc= Graphic Context
data= void
size= value
usage= Buffer Usage

References clan::dynamic_draw.

Member Function Documentation

◆ copy_from()

void clan::StorageBuffer::copy_from ( GraphicContext & gc,
TransferBuffer & buffer,
int dest_pos = 0,
int src_pos = 0,
int size = -1 )

Copies data from transfer buffer.

Referenced by clan::StorageVector< Type >::copy_from().

◆ copy_to()

void clan::StorageBuffer::copy_to ( GraphicContext & gc,
TransferBuffer & buffer,
int dest_pos = 0,
int src_pos = 0,
int size = -1 )

Copies data to transfer buffer.

Referenced by clan::StorageVector< Type >::copy_to().

◆ get_provider()

StorageBufferProvider * clan::StorageBuffer::get_provider ( ) const

Get Provider.

Returns
provider

◆ is_null()

bool clan::StorageBuffer::is_null ( ) const
inline

Returns true if this object is invalid.

◆ operator bool()

clan::StorageBuffer::operator bool ( ) const
inlineexplicit

◆ operator==()

bool clan::StorageBuffer::operator== ( const StorageBuffer & other) const

Handle comparison operator.

References StorageBuffer().

◆ throw_if_null()

void clan::StorageBuffer::throw_if_null ( ) const

Throw an exception if this object is invalid.

◆ upload_data()

void clan::StorageBuffer::upload_data ( GraphicContext & gc,
const void * data,
int size )

Uploads data to storage buffer.

The size specified must match the size of the buffer and is only included to help guard against buffer overruns.

Referenced by clan::StorageVector< Type >::upload_data(), and clan::StorageVector< Type >::upload_data().


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