clan::UniformVector< Type > Class Template Reference

Uniform Buffer Vector. More...

#include <uniform_vector.h>

+ Inheritance diagram for clan::UniformVector< Type >:

Public Member Functions

 UniformVector ()
 Constructs a null instance.
 
 UniformVector (GraphicContext &gc, const std::vector< Type > &data, BufferUsage usage=BufferUsage::static_draw)
 
 UniformVector (GraphicContext &gc, int size, BufferUsage usage=BufferUsage::static_draw)
 Constructs a ElementArrayBuffer.
 
 UniformVector (GraphicContext &gc, Type *data, int size, BufferUsage usage=BufferUsage::static_draw)
 Constructs a ElementArrayBuffer.
 
void copy_from (GraphicContext &gc, TransferVector< Type > &buffer, int dest_pos=0, int src_pos=0, int size=-1)
 Copies data from transfer buffer.
 
void copy_to (GraphicContext &gc, TransferVector< Type > &buffer, int dest_pos=0, int src_pos=0, int size=-1)
 Copies data to transfer buffer.
 
void upload_data (GraphicContext &gc, const std::vector< Type > &data)
 Uploads data to uniforms buffer.
 
void upload_data (GraphicContext &gc, const Type *data, int size)
 Uploads data to uniforms buffer.
 
- Public Member Functions inherited from clan::UniformBuffer
 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.
 
UniformBufferProviderget_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.
 

Detailed Description

template<typename Type>
class clan::UniformVector< Type >

Uniform Buffer Vector.

Constructor & Destructor Documentation

◆ UniformVector() [1/4]

template<typename Type>
clan::UniformVector< Type >::UniformVector ( )
inline

Constructs a null instance.

◆ UniformVector() [2/4]

template<typename Type>
clan::UniformVector< Type >::UniformVector ( GraphicContext & gc,
int size,
BufferUsage usage = BufferUsage::static_draw )
inline

Constructs a ElementArrayBuffer.

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

References clan::UniformBuffer::UniformBuffer(), and clan::static_draw.

◆ UniformVector() [3/4]

template<typename Type>
clan::UniformVector< Type >::UniformVector ( GraphicContext & gc,
Type * data,
int size,
BufferUsage usage = BufferUsage::static_draw )
inline

Constructs a ElementArrayBuffer.

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

References clan::UniformBuffer::UniformBuffer(), and clan::static_draw.

◆ UniformVector() [4/4]

template<typename Type>
clan::UniformVector< Type >::UniformVector ( GraphicContext & gc,
const std::vector< Type > & data,
BufferUsage usage = BufferUsage::static_draw )
inline

Member Function Documentation

◆ copy_from()

template<typename Type>
void clan::UniformVector< Type >::copy_from ( GraphicContext & gc,
TransferVector< Type > & buffer,
int dest_pos = 0,
int src_pos = 0,
int size = -1 )
inline

Copies data from transfer buffer.

References clan::UniformBuffer::copy_from().

◆ copy_to()

template<typename Type>
void clan::UniformVector< Type >::copy_to ( GraphicContext & gc,
TransferVector< Type > & buffer,
int dest_pos = 0,
int src_pos = 0,
int size = -1 )
inline

Copies data to transfer buffer.

References clan::UniformBuffer::copy_to().

◆ upload_data() [1/2]

template<typename Type>
void clan::UniformVector< Type >::upload_data ( GraphicContext & gc,
const std::vector< Type > & data )
inline

Uploads data to uniforms buffer.

References clan::UniformBuffer::upload_data().

◆ upload_data() [2/2]

template<typename Type>
void clan::UniformVector< Type >::upload_data ( GraphicContext & gc,
const Type * data,
int size )
inline

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.

References clan::UniformBuffer::upload_data().


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