Uniform Buffer. More...
#include <uniform_buffer.h>
Public Member Functions | |
UniformBuffer () | |
Constructs a null instance. | |
UniformBuffer (GraphicContext &gc, const void *data, int size, BufferUsage usage=BufferUsage::dynamic_draw) | |
Constructs a VertexArrayBuffer. | |
UniformBuffer (GraphicContext &gc, int block_size, BufferUsage usage=BufferUsage::dynamic_draw) | |
Constructs a ProgramUniformBlock. | |
UniformBuffer (GraphicContext &gc, ProgramObject &program, const std::string &name, int num_blocks=1, BufferUsage usage=BufferUsage::dynamic_draw) | |
Constructs a ProgramUniformBlock - convenience function. | |
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. | |
UniformBufferProvider * | get_provider () const |
Get Provider. | |
bool | is_null () const |
Returns true if this object is invalid. | |
operator bool () const | |
bool | operator== (const UniformBuffer &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 uniforms buffer. | |
Uniform Buffer.
clan::UniformBuffer::UniformBuffer | ( | ) |
Constructs a null instance.
clan::UniformBuffer::UniformBuffer | ( | GraphicContext & | gc, |
int | block_size, | ||
BufferUsage | usage = BufferUsage::dynamic_draw |
||
) |
Constructs a ProgramUniformBlock.
gc | = Graphic Context |
size | = size - use ProgramObject::get_uniform_buffer_size() to calcuate this |
usage | = Buffer Usage |
clan::UniformBuffer::UniformBuffer | ( | GraphicContext & | gc, |
const void * | data, | ||
int | size, | ||
BufferUsage | usage = BufferUsage::dynamic_draw |
||
) |
Constructs a VertexArrayBuffer.
gc | = Graphic Context |
data | = void |
size | = value |
usage | = Buffer Usage |
clan::UniformBuffer::UniformBuffer | ( | GraphicContext & | gc, |
ProgramObject & | program, | ||
const std::string & | name, | ||
int | num_blocks = 1 , |
||
BufferUsage | usage = BufferUsage::dynamic_draw |
||
) |
Constructs a ProgramUniformBlock - convenience function.
gc | = Graphic Context |
num_blocks | = Number of blocks to allocate |
usage | = Buffer Usage |
void clan::UniformBuffer::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::UniformVector< Type >::copy_from().
void clan::UniformBuffer::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::UniformVector< Type >::copy_to().
UniformBufferProvider * clan::UniformBuffer::get_provider | ( | ) | const |
Get Provider.
|
inline |
Returns true if this object is invalid.
|
inlineexplicit |
bool clan::UniformBuffer::operator== | ( | const UniformBuffer & | other | ) | const |
Handle comparison operator.
void clan::UniformBuffer::throw_if_null | ( | ) | const |
Throw an exception if this object is invalid.
void clan::UniformBuffer::upload_data | ( | GraphicContext & | gc, |
const void * | data, | ||
int | size | ||
) |
Uploads data to uniforms buffer.
The size specified must match the size of the buffer and is only included to help guard against buffer overruns.
Referenced by clan::UniformVector< Type >::upload_data().