OpenGL 4.0 comes out to play


With Microsoft becoming increasingly marginalized in areas like mobile media, DirectX is becoming less of a must-use toolset and more of a gaming-specific one. The other side of the coin is, of course, the increasing relevance of standards like OpenGL, OpenAL, and OpenCL: powerful cross-platform systems for graphics, audio, and parallel processing. You may remember OpenCL from its debut on the Mac in Snow Leopard, and OpenGL ES of course powers the UI on the iPad. OpenAL is still a ways from being brought under the public eye, but it’s getting there. In the meantime, OpenGL 4.0 was announced today at GDC, and clearly it has DirectX in its sights.

4.0 has a lot of features which users like you and I don’t really need to know about. Texture swizzling? Awesome. Tessellation? Sure, as long as it’s not like whatever they used in Messiah — remember that game? These new toys for developers will make for a richer and faster graphical experience, to be sure, but I’m not going to list them off for you.

The big news for graphics is handhelds right now. Mobile gaming is blowing up and Microsoft can’t get a foot in the door. Hell, it’s getting its foot booted out from the other side. In the other corner, OpenGL (and the rest of the Open toolset) is setting itself up as being flexible enough to be applied on a handset, a laptop, or a desktop. It may not have DirectX 11 fidelity in water shaders or the latest normal mapping technique, but it’s damn close and what’s more, it doesn’t need a high end graphics card to be the library in use. Though I feel I should add that the games coming out on Windows Phone 7 Series and the Zune HD 2 are looking pretty awesome. This race isn’t over by far.

The OpenCL thing is great as well. If you remember, OpenCL is a set of tools for offloading certain tasks from the CPU onto the GPU, when those tasks are better served by parallel processors. Loading web pages may work fine on your Snapdragon, but decoding video will have it at 100% and drain your battery — better to send it over to the GPU. The GPU computing thing hasn’t quite taken off yet, but it’s pretty much inevitable that it’ll start being implemented on a low level, since it can improve the user experience so dramatically.

I’m always happy to see this kind of steady progress. More capabilities, more competition, and better devices for everyone, OpenGL-based or not. If you’re interested, there’s much more information available. Many links in the press release:

March 11, 2010 – San Francisco, GDC 2010 – The Khronos™ Group today announced the release of the OpenGL® 4.0 specification; a significant update to the most widely adopted 2D and 3D graphics API (application programming interface) that is used on all major desktop operating systems. OpenGL 4.0 brings the very latest in cross-platform graphics acceleration and functionality to personal computers and workstations and the OpenGL standard serves as the basis for OpenGL® ES, the graphics standard on virtually every shipping smart phone.

The OpenGL 4.0 specification has been defined by the OpenGL ARB (Architecture Review Board) working group at Khronos, and includes the GLSL 4.00 update to the OpenGL Shading language in order to enable developers to access the latest generation of GPU acceleration with significantly enhanced graphics quality, acceleration performance and programming flexibility. This new release continues the rapid evolution of the royalty-free OpenGL standard to enable graphics developers to portably access cutting-edge GPU functionality across diverse operating systems and platforms. The full specification is available for immediate download at http://www.opengl.org/registry.

OpenGL 4.0 further improves the close interoperability with OpenCL™ for accelerating computationally intensive visual applications. OpenGL 4.0 continues support for both the Core and Compatibility profiles first introduced with OpenGL 3.2, enabling developers to use a streamlined API or retain backwards compatibility for existing OpenGL code, depending on their market needs.

OpenGL 4.0 has been specifically designed to bring significant benefits to application developers, including:

– two new shader stages that enable the GPU to offload geometry tessellation from the CPU;

– per-sample fragment shaders and programmable fragment shader input positions for increased rendering quality and anti-aliasing flexibility;

– drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention;

– shader subroutines for significantly increased programming flexibility;

– separation of texture state and texture data through the addition of a new object type called sampler objects;

– 64-bit double precision floating point shader operations and inputs/outputs for increased rendering accuracy and quality;

– performance improvements, including instanced geometry shaders, instanced arrays, and a new timer query.

Lastly, Khronos has simultaneously released an OpenGL 3.3 specification, together with a set of ARB extensions, to enable as much OpenGL 4.0 functionality as possible on previous generation GPU hardware, providing maximum flexibility and platform coverage for application developers. The full OpenGL 3.3 specification is also available for immediate download at http://www.opengl.org/registry

“AMD sees the release of OpenGL 4.0 as another major accomplishment for the OpenGL ARB,” said Ben Bar-Haim, vice president of design engineering at AMD. “AMD contributes to the Khronos workgroups, and we consistently find that Khronos is successful at developing healthy, thriving, and evolving open standards such as OpenGL and OpenCL.”

“OpenGL 4.0 continues the ARB’s schedule-driven roll-out of new functionality, and this significant major release enables developers to access leading-edge GPU functionality across multiple platforms with full backwards compatibility,” said Neil Trevett, president of the Khronos Group and vice president at NVIDIA. “OpenGL continues to be a keystone in Khronos’ API ecosystem through driving innovation into OpenGL ES and WebGL™ to bring high-performance programmable graphics to mobile platforms and the Web, and by interoperating with OpenCL to create a seamless visual and compute platform for application developers.”

Learn about OpenGL at Game Developer Conference March 11-13, 2010
Attend this session to learn about the latest updates on the OpenGL standard, and how the OpenGL ARB is addressing the latest graphics hardware capabilities. Also discover how WebGL is bringing OpenGL based graphics to browsers on any platform supporting the OpenGL or OpenGL ES standards, without the need for any plug-in. Additionally, Khronos is offering sessions on OpenCL, COLLADA, and Khronos Mobile APIs.

All Khronos GDC Sessions are in Room 123, North Hall, Moscone Center, San Francisco:

OpenCL Thursday, March 11 1:30pm – 2:30pm

OpenGL featuring WebGL Thursday, March 11 3:00pm – 4:00pm

COLLADA featuring WebGL Friday, March 12 1:30pm – 2:30pm

Mobile featuring WebGL Friday, March 12 3:00pm – 4:00pm

About The Khronos Group

The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics and dynamic media on a wide variety of platforms and devices. Khronos standards include OpenGL®, OpenGL® ES, WebGL™, EGL™, OpenCL™, OpenMAX™, OpenVG™, OpenSL ES™, OpenKODE™ and COLLADA™. All Khronos members are able to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge media platforms and applications through early access to specification drafts and conformance tests. More information is available at http://www.khronos.org.