go-gl/gl — pull request #163 by PolyFloyd (2014-07-24 19:33:01+00:00)
Title: Add new extensions and features

Hello again,
When working on implementing the newer OpenGL functionality, a few ideas popped in my head. They required breaking compatibility with the current version, but since this branch is using a newer GLEW version I just went ahead and realized them.
These are the changed I made:

* Give each GL version and extension its own file
This makes it easy to spot which functionality is implemented. Of course each extension/version needs to be implemented as a whole.

* Expose runtime availability of extensions
Each file containing an extension has a public variable which is initialized by Init(). Speaking about init..

* Init() returns an error
I thought that it would fit Go more than a C-like error code.

* Added a script to quickly implement an extension using GLEW as reference.

* Added extensions:
* OpenGL 4.0-4.4
* GL_ARB_buffer_storage
* GL_ARB_map_buffer_range
* GL_ARB_sparse_texture
* GL_ARB_sync
* GL_EXT_direct_state_access(!)

Hope you like it.