GL++  0.1
OpenGL API C++ Wrapper
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Groups Pages
glpp Namespace Reference

The namespace that encloses everything of GLPP. More...

Classes

class  named_object
 Base type for OpenGL objects. More...
struct  blend_unit
 Unit that control blending process. More...
struct  buffer
 A general object for unformatted linear memory allocated by the OpenGL context. More...
struct  capabilities_unit
 Unit to query OpenGL implementation capabilities. More...
struct  context
 Opengl Context. More...
struct  noncopyable
 C++11 implementation of noncopyable pattern. More...
struct  depth_test_unit
 Unit that controls depth buffer testing. More...
struct  exception
 Base exception class for all GLPP related exceptions. More...
struct  gl_error
 Exception that wraps an OpenGL error code. More...
struct  object_not_found
 Exception thrown when object cannot be located. More...
struct  uniform_not_found
 Exception thrown when uniform cannot be located. More...
struct  compile_error
 Exception thrown when compilation has failed. More...
struct  link_error
 Exception thrown when shader linking has failed. More...
struct  no_active_context
 Exception thrown when there is no active context. More...
struct  face_cull_unit
 Unit that controls face culling. More...
struct  frame_buffer_attachment_point
 Attachment point of a frame_buffer object. More...
struct  frame_buffer
 Object representing a framebuffer. More...
struct  global_uniform
 Active uniform variable of global scope. More...
struct  logicop_unit
 Unit that controls color logic operation. More...
struct  program
 Program that can be executed in the GPU pipeline. More...
struct  render_buffer
 Buffer that can be attached to a frame_buffer as an output target. More...
struct  scissor_test_unit
 Unit that controls scissor testing. More...
struct  shader_compile_error
 Exception thrown when shader compilation has failed. More...
struct  shader
 GPU Shader object. More...
struct  stencil_test_unit
 Unit that controls stencil testing. More...
struct  texture
 Object that represents an in-GPU texture. More...
struct  texture_unit_t
struct  uniform
 Query object for active uniform variable. More...
struct  uniform_block
 Active uniform block of a program. More...
struct  vertex_attrib_array
 Attribute of a vertex array object. More...
struct  vertex_array
 Object to handle a vertex array object. More...

Typedefs

typedef std::shared_ptr< shadershared_shader_t
 Type definition of shared pointer for shader objects.
typedef std::shared_ptr< uniformshared_uniform_t
 Type definition of shared pointer for uniform objects.
typedef std::shared_ptr
< uniform_block
shared_uniform_block_t
 Type definition of shared pointer for uniform_block objects.
typedef std::shared_ptr
< global_uniform
shared_global_uniform_t
 Type definition of shared pointer for global_uniform objects.
typedef std::shared_ptr
< vertex_attrib_array
shared_vertex_attrib_array_t
 Type definition of shared pointer for vertex_attrib_array objects.
typedef std::shared_ptr
< render_buffer
shared_render_buffer_t
 Type definition of shared pointer for render_buffer objects.
typedef std::shared_ptr< textureshared_texture_t
 Type definition of shared pointer for texture objects.
typedef std::shared_ptr
< frame_buffer_attachment_point
shared_frame_buffer_attachment_point_t
 Type definition of shared pointer for frame_buffer_attachment_point objects.
typedef GLfloat float_type
typedef GLint int_type
typedef GLint64 int64_type
typedef GLuint uint_type
typedef GLuint64 uint64_type
typedef GLdouble double_type
typedef GLhalf half_type
typedef GLboolean boolean_type

Enumerations

enum  variable_type
 Variable type.
enum  buffer_type
 Buffer types.
enum  frame_buffer_target
 Frame buffer types.
enum  frame_buffer_status
 Frame buffer status.
enum  buffer_usage_pattern
 Buffer usage pattern.
enum  buffer_access_mode
 Buffer access mode.
enum  attribi_data_type
 Component integral data type.
enum  attribf_data_type
 Component float data type.
enum  map_access_bit
 Map access bit.
enum  shader_type
 Shader types enumeration.
enum  buffer_mode_type
enum  texture_type
 Texture types.
enum  min_filter_type
 Minification filter types.
enum  mag_filter_type
 Magnification filter types.
enum  compare_mode
enum  compare_func
 Compare functions.
enum  wrap_type
 Wrapping type.
enum  swizzle_type
 All available swizzle types.
enum  primitive_type
 Draw primitives types.
enum  context_param_type
 Context parameters.
enum  image_base_format
enum  image_sized_format
enum  image_compressed_format
enum  image_format
enum  image_rendable_format
enum  fbo_point
 Attachment points for all types of framebuffer.
enum  window_fbo_point
 Attachment points for window provided framebuffer.
enum  elements_type
enum  tex2d_update_target
enum  pixel_format
enum  tex_pixel_type
enum  pixel_data_format
enum  fbo_pixel_type
enum  logic_op
enum  blend_factor
enum  blend_equation
enum  stencil_op
enum  face_type
enum  face_orientation
enum  uniform_block_param
 Uniform block parameters.

Functions

template<class R , class T , class N , class E >
gl_get_wrapper (void(*f)(N, GLenum, T *), N i, E pname)
template<class T , class N , class E >
gl_get_wrapper (void(*f)(N, GLenum, T *), N i, E pname)
contextcurrent_ctx () throw (no_active_context)
 Get the current context for this thread.
void assert_no_glerror (const std::string &custom_message) throw (gl_error)
 Runtime assertion that there is no error on OpenGL pipeline.
shared_shader_t open_shader_files (shader_type type, std::initializer_list< const std::string > fnames)
 Create shader object from multiple GLSL source files.
shared_shader_t open_shader_file (shader_type type, const std::string fname)
 Create shader object from in-file source code.
template<class Ret >
Ret _uniform_block_get_param (const uniform_block &block, uniform_block_param param)
void bind_to (GLuint point, uniform_block *pblock, buffer *pbuffer) throw (std::invalid_argument)
 Bind a uniform_block and a uniform buffer object to common point.

Variables

context_curr_ctx = NULL

Detailed Description

The namespace that encloses everything of GLPP.

Copyright (c) 2012 Konstantinos Paliouras <squarious _="" gmail="" _dot="" com>="">.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Function Documentation

void glpp::assert_no_glerror ( const std::string &  custom_message) throw (gl_error)
inline

Runtime assertion that there is no error on OpenGL pipeline.

This function whenever executed will check if there is an error produced by previous OpenGL functions. If the error stack is not clean it will throw an gl_error exception. http://www.opengl.org/sdk/docs/man4/xhtml/glGetError.xml

context & glpp::current_ctx ( ) throw (no_active_context)

Get the current context for this thread.

You need to manually context::create() for each context that you need.

Exceptions
no_active_contextIf there is no active context