Specification adopted for OpenGL 3.1
The Khronos Group has published the specifications for OpenGL 3.1, fulfilling the demand for a more straightforward and up-to-date 3-D programming interface. In Version 3.0, the industry consortium declared that, because of the rapid development of graphics chips, a number of OpenGL functions were outdated and no longer needed.
With OpenGL 3.1, the Khronos Group has made the necessary hard cuts and removed outdated legacy functions, from OpenGL 1.x and 2.x, from the specifications. The functions removed include all fixed-function options, the direct mode and pixel formats with color palettes (color index mode). The only exception is "wide lines" (a line width greater than 1.0). The legacy functions are now only available via an optional "compatibility extension".
OpenGL 3.1 contains the new version 1.40 of the GLSL shader language, in addition to the following features:
- one-dimensional texture buffer objects for computer applications
- signed normalized textures with a value range from -1.0 to +1.0
- uniform buffer objects for faster data updates and sharing
- up to 16 textures in vertex shader programs
- primitive restart for the effective drawing of triangular stripes
- instancing for multiple drawings of objects based on the same data
- CopyBuffer API for quick data copies used in combination with OpenCL
These functions make additional capabilities of current graphics chips usable under OpenGL. With these changes, the Khronos Group has boosted the adaptation of the OpenGL-API to OpenGL Embedded Systems (OpenGL ES) for mobile and embedded systems.