glbinding 1.1.0 Released


glbinding logo

glbinding is a generated, cross-platform C++ binding for OpenGL which is solely based on the xml-based OpenGL API specification (gl.xml). It is a fully fledged OpenGL API binding compatible with current code based on other C bindings, e.g., GLEW.

glbinding leverages modern C++11 features like enum classes, lambdas, and variadic templates, instead of relying on macros (all OpenGL symbols are real functions and variables). It provides type-safe parameters, per feature API header, lazy function resolution, multi-context and multi-thread support, global and local function callbacks, logging, meta information about the generated OpenGL binding and the OpenGL runtime, as well as multiple tools and examples for quick-starting your projects.

glbinding 1.10 release highlights:

  • updated gl.xml to latest revision
  • reduce memory footprint for compilation
  • drastically decrease compile time
  • support extension queries for OpenGL 2.1 or less
  • add per function callbacks
  • add basic logging functions
  • add context check tool (yields for all possible context version requests the resulting context)
  • add query tool (retrieves all opengl states and compares them to the standard)
  • add NV_command_list support
  • provide continuous build status information for major platforms
  • add logos and nsis package graphics
  • various fixes for cross-platform compatibility

Code snippet:

#include 
#include 

using namespace gl;

int main()
{
  // create context, e.g. using GLFW, Qt, SDL, GLUT, ...

  glbinding::Binding::initialize();

  glBegin(GL_TRIANGLES);
  // ...
  glEnd();
}

Links: