DirectX 11 has been gathering a lot of support, especially over the last six months as ATI has released an entire top-to-bottom lineup with support for the standard. Although DirectX is probably the best known collection of Application Programming Interfaces for games, OpenGL still remains relevant as a competitor in driving gaming technology forward.
OpenGL is managed by the Khronos Group, and it recently released the OpenGL 4.0 specification. The twelfth revision to the original spec adds many new features, some of which is also supported by current hardware through the new OpenGL 3.3 spec.
OpenGL 3.3 adds support for OpenGL Shading Language (GLSL) 3.3, which includes built-in functions for getting and setting the bit encoding for floating-point values. There are also new color blending functions and performance enhancements.
The real meat is in OpenGL 4.0, adding support for GLSL 4.0 and the fragment shader texture functions it allows. Per-sample fragment shaders and programmable fragment shader input positions will allow for increased rendering quality and anti-aliasing flexibility. The shader subroutines have been redesigned for significantly increased programming flexibility.
New tessellation stages and two new corresponding shader types are introduced. Tessellation control and tessellation evaluation shaders operate on "patches" (fixed-sized collections of vertices). Tessellation can increase visual quality significantly by taking a rough object and generating new vertices to smooth out the object and provide more detail without excessive performance penalties. These two new shader stages will enable the offloading of geometry tessellation from the CPU to the GPU.
A new object type called "sampler objects" will allow the separation of texture states and texture data. 64-bit double precision floating point shader operations and inputs/outputs will increase rendering accuracy and quality, while performance improvements will come from instanced geometry shaders, instanced arrays, and a new timer query. The drawing of data generated by OpenGL or external APIs such as OpenCL can be done without any CPU intervention.
The new spec is also supposed to improve interoperability with OpenCL for accelerating computationally intensive visual applications. OpenCL competes with DirectCompute, found in DirectX 10.1 and DX11.
Support for both the Core and Compatibility profiles first introduced with OpenGL 3.2 are continued, enabling developers to use a streamlined API or retain backwards compatibility for existing OpenGL code depending on their market needs.
ATI has been working extensively on OpenGL support and in shaping the standard. The functionality introduced in OpenGL 3.3 is supported by all ATI discrete graphics products released since the spring of 2007. That includes the consumer Radeon lineup and the workstation FirePro and FireGL cards.
The ATI Radeon HD 5900 and 5800 series are also fully compatible with the OpenGL 4.0 standard, including tessellation and integration with the OpenCL API. This means that full OpenGL 4.0 GPU acceleration will be available when software that is coded for the standard hits the market.
Almost all of the OpenGL 4.0 functionality is also available on ATI Radeon HD 5400, 5500, 5600, and 5700 series graphics cards, with the exception of double precision support. ATI will enable this feature at a later date.
The features are enabled through the ATI Catalyst OpenGL 4.0 preview driver, which can be found here. Full support for OpenGL 4.0 will eventually be folded in the regular monthly Catalyst driver updates.
"The fact that we are able to announce our support for OpenGL 3.3 and OpenGL 4.0 at launch is an incredible feat on the part of our OpenGL software team, and speaks volumes to the commitment and continued support that the entire team brings to the many developers utilizing OpenGL. In fact, with the launch of these updates, industry pundits have commented that OpenGL is in for a renaissance of sorts. As a company that believes in and encourages open and industry standards, maintaining OpenGL as a strong and viable graphics API is important to AMD," stated Chris James, Social Media Strategist for the company's Global Communications team in a blog post.