Skip to main content

OpenGL 3.1 Officially Released

The Khronos Group unloaded the specs from the just-released OpenGL 3.1., adding texture buffer objects, signed normalized textures and more.

There really should be no need for an OpenGL introduction: it's the widely adopted 2D and 3D graphics API used heavily in the industry, and if Microsoft would have anything to say about it, OpenGL (Open Graphics Library) is the official adversary to the company's own graphics API, Direct3D. Still, it's always exciting to see new versions of both, to see the improvements and new features implemented with each release. While the average consumer probably has no clue as to how OpenGL and DirectX affect everyday performance, PC gamers know what graphics API is all about, and it's all good.

Yesterday, the Khronos Group made available the latest version of OpenGL, now sliding in at v3.1, making it the ninth revision since the original 1.0 release. The specs show that the new package includes an updated scripting language (GLSL 1.40) and more efficient vertex processing. The new v3.1 release also enables data copying between buffer objects (Copy Buffer), a Primitive Restart feature to restart an executing primitive, Texture Buffer Objects that hold a one-dimensional array of texels of a specified format, and even Rectangular Textures.

The new version of OpenGL also includes Uniform Buffer Objects that enables rapid swapping of blocks of uniforms, and Signed Normalized Textures: new integer texture formats that represent a value in the range [-1.0,1.0]. There's also Instancing, the ability to draw objects multiple times by re-using vertex data to reduce duplicated data and number of API calls. OpenGL 3.1 also provides more samplers: now at least 16 texture image units must be accessible to vertex shaders in addition to the 16 already guaranteed to be accessible to fragment shaders.

“The rapid nine month development of OpenGL 3.1 demonstrates the schedule-driven approach to the standard that is enabling and inspiring cutting edge, cross-platform GPU functionality,” said Barthold Lichtenbelt, chair of the OpenGL ARB working group at Khronos. “OpenGL 3.1 answers the requests from the developer community to streamline and modernize the OpenGL API. The OpenGL ARB will continue to leverage the unique evolutionary model introduced in OpenGL 3.0 to drive the ongoing revolution in OpenGL while ensuring backwards compatibility where it is needed.”

While the new OpenGL 3.1 specification is now available online, the implementations of 3.1 are expected to surface from multiple vendors soon. In conjunction with the release of the OpenGL 3.1 specification, the group has also released an optional compatibility extension that enables application developers to access the OpenGL 1.X/2.X functionality removed in OpenGL 3.1. This will ensure full backwards compatibility for applications that require it.

“AMD will support OpenGL 3.1 in the upcoming driver release for the Radeon and FirePro products, and is fully supportive of the OpenGL API,” said Suki Samra, director of OpenGL at AMD.

To learn more about the new OpenGL 3.1, check out the 352-page PDF right here.