
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(); }