OGLplus (0.52.0) a C++ wrapper for OpenGL

Wrapper for primitive drawing operations. More...

#include </home/chochlik/devel/oglplus/include/oglplus/context/drawing.hpp>

Inheritance diagram for oglplus::context::Drawing:

Static Public Member Functions

static void DrawArrays (PrimitiveType primitive, GLint first, GLsizei count)
 Draws count of primitives from the bound array buffers. More...
 
static void DrawArraysInstancedBaseInstance (PrimitiveType primitive, GLint first, GLsizei count, GLsizei inst_count, GLsizei base_instance)
 Draws count of primitives from the bound array buffers. More...
 
static void DrawArraysInstanced (PrimitiveType primitive, GLint first, GLsizei count, GLsizei inst_count)
 Draws count of primitives from the bound array buffers. More...
 
static void DrawArraysIndirect (PrimitiveType primitive, const void *indirect=nullptr)
 Draws primitives from an indirect buffer. More...
 
static void MultiDrawArrays (PrimitiveType primitive, const GLint *first, const GLsizei *count, GLsizei primcount)
 Draws primcount ranges of primitives from the bound array buffers. More...
 
static void MultiDrawArraysIndirect (PrimitiveType primitive, GLsizei draw_count, GLsizei stride=0, const void *indirect=nullptr)
 Draws multiple sets of primitives from an indirect buffer. More...
 
static void DrawElements (PrimitiveType primitive, GLsizei count, DataType data_type)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawElements (PrimitiveType primitive, GLsizei count, const T *indices)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawElementsInstanced (PrimitiveType primitive, GLsizei count, DataType data_type, GLsizei instance_count)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawElementsInstanced (PrimitiveType primitive, GLsizei count, const T *indices, GLsizei instance_count)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawElementsInstancedBaseInstance (PrimitiveType primitive, GLsizei count, DataType data_type, GLsizei inst_count, GLuint base_instance)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawElementsInstancedBaseInstance (PrimitiveType primitive, GLsizei count, const T *indices, GLsizei inst_count, GLuint base_instance)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void MultiDrawElements (PrimitiveType primitive, const GLsizei *count, DataType data_type, GLsizei draw_count)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
MultiDrawElements (PrimitiveType primitive, const GLsizei *count, T *const *indices, GLsizei draw_count)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawRangeElements (PrimitiveType primitive, GLuint start, GLuint end, GLsizei count, DataType data_type)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawRangeElements (PrimitiveType primitive, GLuint start, GLuint end, GLsizei count, const T *indices)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawElementsIndirect (PrimitiveType primitive, DataType data_type, const void *indirect=nullptr)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void MultiDrawElementsIndirect (PrimitiveType primitive, DataType data_type, GLsizei draw_count, GLsizei stride=0, const void *indirect=nullptr)
 Draws sequences of primitives from the bound element array buffers. More...
 
static void DrawElementsBaseVertex (PrimitiveType primitive, GLsizei count, DataType data_type, GLint base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawElementsBaseVertex (PrimitiveType primitive, GLsizei count, const T *indices, GLint base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawRangeElementsBaseVertex (PrimitiveType primitive, GLuint start, GLuint end, GLsizei count, DataType data_type, GLint base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawRangeElementsBaseVertex (PrimitiveType primitive, GLuint start, GLuint end, GLsizei count, const T *indices, GLint base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawElementsInstancedBaseVertex (PrimitiveType primitive, GLsizei count, DataType data_type, GLsizei inst_count, GLint base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawElementsInstancedBaseVertex (PrimitiveType primitive, GLsizei count, const T *indices, GLsizei inst_count, GLint base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void MultiDrawElementsBaseVertex (PrimitiveType primitive, const GLsizei *count, DataType data_type, GLsizei draw_count, const GLint *base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
MultiDrawElementsBaseVertex (PrimitiveType primitive, const GLsizei *count, T *const *indices, GLsizei draw_count, const GLint *base_vertex)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void DrawElementsInstancedBaseVertexBaseInstance (PrimitiveType primitive, GLsizei count, DataType data_type, GLsizei inst_count, GLint base_vertex, GLuint base_instance)
 Draws a sequence of primitives from the bound element array buffers. More...
 
template<typename T >
static std::enable_if
< IsGLDataType< T >::value,
void >::type 
DrawElementsInstancedBaseVertexBaseInstance (PrimitiveType primitive, GLsizei count, const T *indices, GLsizei inst_count, GLint base_vertex, GLuint base_instance)
 Draws a sequence of primitives from the bound element array buffers. More...
 
static void PrimitiveRestartIndex (GLuint index)
 Sets the primitive restart index. More...
 

Detailed Description

Wrapper for primitive drawing operations.

Member Function Documentation

static void oglplus::context::Drawing::DrawArrays ( PrimitiveType  primitive,
GLint  first,
GLsizei  count 
)
static

Draws count of primitives from the bound array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawArrays
static void oglplus::context::Drawing::DrawArraysIndirect ( PrimitiveType  primitive,
const void *  indirect = nullptr 
)
static

Draws primitives from an indirect buffer.

Exceptions
ErrorRequires OpenGL 4.0 or the GL_ARB_draw_indirect extension.
Related OpenGL symbols:
glDrawArraysIndirect
static void oglplus::context::Drawing::DrawArraysInstanced ( PrimitiveType  primitive,
GLint  first,
GLsizei  count,
GLsizei  inst_count 
)
static

Draws count of primitives from the bound array buffers.

Exceptions
ErrorRequires OpenGL 3.1.
Related OpenGL symbols:
glDrawArraysInstanced
static void oglplus::context::Drawing::DrawArraysInstancedBaseInstance ( PrimitiveType  primitive,
GLint  first,
GLsizei  count,
GLsizei  inst_count,
GLsizei  base_instance 
)
static

Draws count of primitives from the bound array buffers.

Exceptions
ErrorRequires OpenGL 4.2.
Related OpenGL symbols:
glDrawArraysInstancedBaseInstance
static void oglplus::context::Drawing::DrawElements ( PrimitiveType  primitive,
GLsizei  count,
DataType  data_type 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawElements
Examples:
standalone/025_bitmap_font_text.cpp.

Referenced by DrawElements().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawElements ( PrimitiveType  primitive,
GLsizei  count,
const T *  indices 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawElements

References DrawElements().

static void oglplus::context::Drawing::DrawElementsBaseVertex ( PrimitiveType  primitive,
GLsizei  count,
DataType  data_type,
GLint  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glDrawElementsBaseVertex

Referenced by DrawElementsBaseVertex().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawElementsBaseVertex ( PrimitiveType  primitive,
GLsizei  count,
const T *  indices,
GLint  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glDrawElementsBaseVertex

References DrawElementsBaseVertex().

static void oglplus::context::Drawing::DrawElementsIndirect ( PrimitiveType  primitive,
DataType  data_type,
const void *  indirect = nullptr 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 4.0 or the GL_ARB_GL_ARB_draw_indirect extension.
Related OpenGL symbols:
glDrawElementsIndirect
static void oglplus::context::Drawing::DrawElementsInstanced ( PrimitiveType  primitive,
GLsizei  count,
DataType  data_type,
GLsizei  instance_count 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawElementsInstanced

Referenced by DrawElementsInstanced().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawElementsInstanced ( PrimitiveType  primitive,
GLsizei  count,
const T *  indices,
GLsizei  instance_count 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawElementsInstanced

References DrawElementsInstanced().

static void oglplus::context::Drawing::DrawElementsInstancedBaseInstance ( PrimitiveType  primitive,
GLsizei  count,
DataType  data_type,
GLsizei  inst_count,
GLuint  base_instance 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 4.2.
Related OpenGL symbols:
glDrawElementsInstancedBaseInstance

Referenced by DrawElementsInstancedBaseInstance().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawElementsInstancedBaseInstance ( PrimitiveType  primitive,
GLsizei  count,
const T *  indices,
GLsizei  inst_count,
GLuint  base_instance 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 4.2.
Related OpenGL symbols:
glDrawElementsInstancedBaseInstance

References DrawElementsInstancedBaseInstance().

static void oglplus::context::Drawing::DrawElementsInstancedBaseVertex ( PrimitiveType  primitive,
GLsizei  count,
DataType  data_type,
GLsizei  inst_count,
GLint  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glDrawElementsInstancedBaseVertex

Referenced by DrawElementsInstancedBaseVertex().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawElementsInstancedBaseVertex ( PrimitiveType  primitive,
GLsizei  count,
const T *  indices,
GLsizei  inst_count,
GLint  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glDrawElementsInstancedBaseVertex

References DrawElementsInstancedBaseVertex().

static void oglplus::context::Drawing::DrawElementsInstancedBaseVertexBaseInstance ( PrimitiveType  primitive,
GLsizei  count,
DataType  data_type,
GLsizei  inst_count,
GLint  base_vertex,
GLuint  base_instance 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 4.2.
Related OpenGL symbols:
glDrawElementsInstancedBaseVertexBaseInstance

Referenced by DrawElementsInstancedBaseVertexBaseInstance().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawElementsInstancedBaseVertexBaseInstance ( PrimitiveType  primitive,
GLsizei  count,
const T *  indices,
GLsizei  inst_count,
GLint  base_vertex,
GLuint  base_instance 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 4.2.
Related OpenGL symbols:
glDrawElementsInstancedBaseVertexBaseInstance

References DrawElementsInstancedBaseVertexBaseInstance().

static void oglplus::context::Drawing::DrawRangeElements ( PrimitiveType  primitive,
GLuint  start,
GLuint  end,
GLsizei  count,
DataType  data_type 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawRangeElements

Referenced by DrawRangeElements().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawRangeElements ( PrimitiveType  primitive,
GLuint  start,
GLuint  end,
GLsizei  count,
const T *  indices 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glDrawRangeElements

References DrawRangeElements().

static void oglplus::context::Drawing::DrawRangeElementsBaseVertex ( PrimitiveType  primitive,
GLuint  start,
GLuint  end,
GLsizei  count,
DataType  data_type,
GLint  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glDrawRangeElementsBaseVertex

Referenced by DrawRangeElementsBaseVertex().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::DrawRangeElementsBaseVertex ( PrimitiveType  primitive,
GLuint  start,
GLuint  end,
GLsizei  count,
const T *  indices,
GLint  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glDrawRangeElementsBaseVertex

References DrawRangeElementsBaseVertex().

static void oglplus::context::Drawing::MultiDrawArrays ( PrimitiveType  primitive,
const GLint *  first,
const GLsizei *  count,
GLsizei  primcount 
)
static

Draws primcount ranges of primitives from the bound array buffers.

Exceptions
Error
See Also
DrawArrays
Related OpenGL symbols:
glMultiDrawArrays
static void oglplus::context::Drawing::MultiDrawArraysIndirect ( PrimitiveType  primitive,
GLsizei  draw_count,
GLsizei  stride = 0,
const void *  indirect = nullptr 
)
static

Draws multiple sets of primitives from an indirect buffer.

Exceptions
ErrorRequires OpenGL 4.3 or the GL_ARB_multi_draw_indirect extension.
Related OpenGL symbols:
glMultiDrawArraysIndirect
static void oglplus::context::Drawing::MultiDrawElements ( PrimitiveType  primitive,
const GLsizei *  count,
DataType  data_type,
GLsizei  draw_count 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glMultiDrawElements

Referenced by MultiDrawElements().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::MultiDrawElements ( PrimitiveType  primitive,
const GLsizei *  count,
T *const *  indices,
GLsizei  draw_count 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
Error
Related OpenGL symbols:
glMultiDrawElements

References MultiDrawElements().

static void oglplus::context::Drawing::MultiDrawElementsBaseVertex ( PrimitiveType  primitive,
const GLsizei *  count,
DataType  data_type,
GLsizei  draw_count,
const GLint *  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glMultiDrawElementsBaseVertex

Referenced by MultiDrawElementsBaseVertex().

template<typename T >
static std::enable_if<IsGLDataType<T>::value, void>::type oglplus::context::Drawing::MultiDrawElementsBaseVertex ( PrimitiveType  primitive,
const GLsizei *  count,
T *const *  indices,
GLsizei  draw_count,
const GLint *  base_vertex 
)
static

Draws a sequence of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 3.2 or the GL_ARB_draw_elements_base_vertex extension.
Related OpenGL symbols:
glMultiDrawElementsBaseVertex

References MultiDrawElementsBaseVertex().

static void oglplus::context::Drawing::MultiDrawElementsIndirect ( PrimitiveType  primitive,
DataType  data_type,
GLsizei  draw_count,
GLsizei  stride = 0,
const void *  indirect = nullptr 
)
static

Draws sequences of primitives from the bound element array buffers.

Exceptions
ErrorRequires OpenGL 4.3.
Related OpenGL symbols:
glMultiDrawElementsIndirect
static void oglplus::context::Drawing::PrimitiveRestartIndex ( GLuint  index)
static

Sets the primitive restart index.

Exceptions
ErrorRequires OpenGL 3.1.
Related OpenGL symbols:
glPrimitiveRestartIndex

The documentation for this class was generated from the following file:
  • /home/chochlik/devel/oglplus/include/oglplus/context/drawing.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).