OGLplus (0.52.0) a C++ wrapper for OpenGL

oglplus::ObjCommonOps< tag::Buffer > Class Template Reference

Common buffer operations. More...

#include </home/chochlik/devel/oglplus/include/oglplus/buffer.hpp>

Inheritance diagram for oglplus::ObjCommonOps< tag::Buffer >:
Collaboration diagram for oglplus::ObjCommonOps< tag::Buffer >:

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...
 

Detailed Description

template<>
class oglplus::ObjCommonOps< tag::Buffer >

Common buffer operations.

Note
Do not use this class directly, use Buffer or DefaultBuffer instead.

Member Function Documentation

static void oglplus::ObjBindingOps< tag::Buffer >::Bind ( Target  target,
BufferName  buffer 
)
staticinherited

Binds the specified buffer to the specified target.

Related OpenGL symbols:
glBindBuffer

References oglplus::GetGLName().

void oglplus::ObjCommonOps< tag::Buffer >::Bind ( Target  target) const

Binds this buffer to the specified target.

Related OpenGL symbols:
glBindBuffer
static void oglplus::ObjBindingOps< tag::Buffer >::BindBase ( IndexedTarget  target,
GLuint  index,
BufferName  buffer 
)
staticinherited

Bind the specified buffer to the specified indexed target.

Exceptions
Error

References oglplus::GetGLName().

static void oglplus::ObjBindingOps< tag::Buffer >::BindBase ( BufferIndexedTarget  target,
GLuint  first,
const Sequence< BufferName > &  buffers 
)
staticinherited

Sequentially binds buffers to target starting at first index.

Related OpenGL symbols:
glBindBase Requires OpenGL 4.4 or the GL_ARB_multi_bind extension.

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.

Related OpenGL symbols:
glBindBuffer
void oglplus::ObjCommonOps< tag::Buffer >::BindBaseAtomicCounter ( AtomicCounterBufferBindingPoint  index) const

Bind this buffer to the specified atomic counter buffer binding point.

Exceptions
ErrorRequires 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.

Exceptions
ErrorRequires 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.

Exceptions
ErrorRequires 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.

Exceptions
ErrorRequires OpenGL 4.0 or the GL_ARB_transform_feedback3 extension.

References oglplus::Uniform.

static BufferName oglplus::ObjBindingOps< tag::Buffer >::Binding ( Target  target)
staticinherited

Returns the current Buffer bound to specified target.

Related OpenGL symbols:
glGetIntegerv
static BufferName oglplus::ObjBindingOps< tag::Buffer >::Binding ( IndexedTarget  target,
GLuint  idx 
)
staticinherited

Returns the current Buffer bound to specified indexed target.

Related OpenGL symbols:
glGetIntegerv
static void oglplus::ObjBindingOps< tag::Buffer >::BindRange ( IndexedTarget  target,
GLuint  index,
BufferName  buffer,
BufferSize  offset,
BufferSize  size 
)
staticinherited

Bind a range the specified buffer to the specified indexed target.

Exceptions
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.

Related OpenGL symbols:
glBindBufferRange
void oglplus::ObjCommonOps< tag::Buffer >::InvalidateData ( void  )

Invalidate the buffer data.

See Also
Data
ClearData
Exceptions
ErrorRequires 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.

See Also
Data
SubData
InvalidateData
Exceptions
ErrorRequires OpenGL 4.3 or the GL_ARB_invalidate_subdata extension.

References oglplus::BufferSize::Get().


The documentation for this class was generated from the following file:
  • /home/chochlik/devel/oglplus/include/oglplus/buffer.hpp

Copyright © 2010-2014 Matúš Chochlík, University of Žilina, Žilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Mon Sep 22 2014 by Doxygen (version 1.8.6).