Common buffer operations. More...
#include </home/chochlik/devel/oglplus/include/oglplus/buffer.hpp>
Public Types | |
typedef BufferTarget | Target |
Buffer bind targets. | |
typedef BufferIndexedTarget | IndexedTarget |
Buffer indexed bind targets. | |
Public Member Functions | |
void | Bind (Target target) const |
Binds this buffer to the specified target . More... | |
void | BindBase (IndexedTarget target, GLuint index) const |
Binds this buffer to the specified indexed target . More... | |
void | BindBaseUniform (UniformBufferBindingPoint index) const |
Bind this buffer to the specified uniform buffer binding point. More... | |
void | BindBaseTransformFeedback (TransformFeedbackBufferBindingPoint index) const |
Bind this buffer to the specified TFB buffer binding point. More... | |
void | BindBaseAtomicCounter (AtomicCounterBufferBindingPoint index) const |
Bind this buffer to the specified atomic counter buffer binding point. More... | |
void | BindBaseShaderStorage (ShaderStorageBufferBindingPoint index) const |
Bind this buffer to the specified shader storage buffer binding point. More... | |
void | BindRange (IndexedTarget target, GLuint index, BufferSize offset, BufferSize size) const |
Binds a range in this buffer to the specified indexed target . More... | |
void | InvalidateData (void) |
Invalidate the buffer data. More... | |
void | InvalidateSubData (BufferSize offset, BufferSize size) |
Invalidate a subrange of the buffer data. More... | |
Static Public Member Functions | |
static BufferName | Binding (Target target) |
Returns the current Buffer bound to specified target . More... | |
static BufferName | Binding (IndexedTarget target, GLuint idx) |
Returns the current Buffer bound to specified indexed target . More... | |
static void | Bind (Target target, BufferName buffer) |
Binds the specified buffer to the specified target . More... | |
static void | BindBase (IndexedTarget target, GLuint index, BufferName buffer) |
Bind the specified buffer to the specified indexed target . More... | |
static void | BindBase (BufferIndexedTarget target, GLuint first, const Sequence< BufferName > &buffers) |
Sequentially binds buffers to target starting at first index. More... | |
static void | BindRange (IndexedTarget target, GLuint index, BufferName buffer, BufferSize offset, BufferSize size) |
Bind a range the specified buffer to the specified indexed target . More... | |
Common buffer operations.
|
staticinherited |
Binds the specified buffer
to the specified target
.
References oglplus::GetGLName().
void oglplus::ObjCommonOps< tag::Buffer >::Bind | ( | Target | target | ) | const |
Binds this buffer to the specified target
.
|
staticinherited |
Bind the specified buffer
to the specified indexed target
.
Error |
References oglplus::GetGLName().
|
staticinherited |
Sequentially binds buffers
to target
starting at first
index.
References oglplus::GetGLNames(), and oglplus::Sequence< ObjName >::size().
void oglplus::ObjCommonOps< tag::Buffer >::BindBase | ( | IndexedTarget | target, |
GLuint | index | ||
) | const |
Binds this buffer to the specified indexed target
.
void oglplus::ObjCommonOps< tag::Buffer >::BindBaseAtomicCounter | ( | AtomicCounterBufferBindingPoint | index | ) | const |
Bind this buffer to the specified atomic counter buffer binding point.
Error | Requires OpenGL 4.2 or the GL_ARB_shader_atomic_counters extension. |
References oglplus::AtomicCounter.
void oglplus::ObjCommonOps< tag::Buffer >::BindBaseShaderStorage | ( | ShaderStorageBufferBindingPoint | index | ) | const |
Bind this buffer to the specified shader storage buffer binding point.
Error | Requires OpenGL 4.3 or the GL_ARB_shader_storage_buffer_object extension. |
References oglplus::ShaderStorage.
void oglplus::ObjCommonOps< tag::Buffer >::BindBaseTransformFeedback | ( | TransformFeedbackBufferBindingPoint | index | ) | const |
Bind this buffer to the specified TFB buffer binding point.
Error | Requires OpenGL 4.0 or the GL_ARB_transform_feedback3 extension. |
References oglplus::TransformFeedback.
void oglplus::ObjCommonOps< tag::Buffer >::BindBaseUniform | ( | UniformBufferBindingPoint | index | ) | const |
Bind this buffer to the specified uniform buffer binding point.
Error | Requires OpenGL 4.0 or the GL_ARB_transform_feedback3 extension. |
References oglplus::Uniform.
|
staticinherited |
Returns the current Buffer bound to specified target
.
|
staticinherited |
Returns the current Buffer bound to specified indexed target
.
|
staticinherited |
Bind a range the specified buffer to the specified indexed target
.
Error |
References oglplus::BufferSize::Get(), and oglplus::GetGLName().
void oglplus::ObjCommonOps< tag::Buffer >::BindRange | ( | IndexedTarget | target, |
GLuint | index, | ||
BufferSize | offset, | ||
BufferSize | size | ||
) | const |
Binds a range in this buffer to the specified indexed target
.
void oglplus::ObjCommonOps< tag::Buffer >::InvalidateData | ( | void | ) |
Invalidate the buffer data.
Error | Requires OpenGL 4.3 or the GL_ARB_invalidate_subdata extension. |
void oglplus::ObjCommonOps< tag::Buffer >::InvalidateSubData | ( | BufferSize | offset, |
BufferSize | size | ||
) |
Invalidate a subrange of the buffer data.
Error | Requires OpenGL 4.3 or the GL_ARB_invalidate_subdata extension. |
References oglplus::BufferSize::Get().