OpenGL serves as a cross platform 2D and 3D graphics standard, enabling software on desktop computers, mobile devices and game consoles to access video hardware in a standardized way. Apple has added incremental support for OpenGL 3.x in Mac OS X 10.6 Snow Leopard this year, following the inclusion of OpenGL 2.1 in 2007's Mac OS X 10.5 Leopard.
The latest 4.1 version of the OpenGL specification adds a variety of new functionality and performance features, including:
- the ability to query and load a binary for shader program objects to save re-compilation time
- the capability to bind programs individually to programmable stages for programming flexibility
- 64-bit floating-point component vertex shader inputs for higher geometric precision
- multiple viewports for a rendering surface for increased rendering flexibility
- the ability to set stencil values in a fragment shader for enhanced rendering flexibility
- new callback mechanisms to receive enhanced errors and warning messages
New integration with OpenGL ES, OpenCL
OpenGL 4.1 also adds full compatibility with its mobile OpenGL ES 2.0 used in lower power devices such as the iPhone and iPad. This enables developers to more easily port their graphics code between mobile and desktop applications.
New OpenGL extensions also enable developers to sync objects to OpenCL event objects for better interoperability with OpenCL, the general purpose computing library Apple developed to enable programmers to spin resource intensive calculations off on to the very powerful and often idle graphics processor.
Already making its way into silicon
The new OpenGL release is already being implemented by vendors. In a press release, Barthold Lichtenbelt, the OpenGL ARB working group chair and senior manager Core OpenGL at NVIDIA stated, "I am also pleased to announce that NVIDIA will release OpenGL 4.1 production drivers on our developer site for all Fermi-based graphics accelerators, including the GeForce GTX 400 series, during SIGGRAPH."
Ben Bar-Haim, the corporate vice president of software at AMD, made similar comments about his company's commitment to open standards like OpenGL, and announced "plans to support OpenGL 4.1 in an upcoming driver release" for AMD's ATI graphics hardware.
The emergence of OpenGL
OpenGL originated at high end graphics workstation vendor SGI in the 80s, and became an open standard during the early 90s after the company released its technology as an open specification. However, Microsoft's Direct3D, part of its DirectX portfolio of Windows 95 tools, derailed progress on OpenGL in an attempt to tie graphics and particularly games development to Windows.
OpenGL nearly faded into obscurity until Apple dropped its own QuickTime 3D and adopted OpenGL as the official 3D library for its new Mac OS X in the late 90s. Apple's support for the standard helped create a wider audience for OpenGL applications even as Microsoft pushed hardware makers to focus on building hardware oriented toward DirectX support instead.
Over the last decade, Sony's PlayStation 3 and Ninendo's Wii have both helped to push OpenGL as a viable technology in addition to Mac OS X, while among mobile devices OpenGL ES has become the de facto standard, as ARM application processors uniformly embed OpenGL ES capable graphics cores.
The increasing sophistication of OpenGL as an open specification helps level the playing field among computing platforms, as it enables GPU makers to release technology that can be taken advantage of by any operating system that implements it.
Apple's parallel opening of its own new OpenCL technology (as a cross platform computing library for harnessing the often latent power within video processors) has also helped to break down barriers between video card vendors, enabling ATI and NVIDIA to support a joint standard that gives neither any special advantage over the other, but which enables both to compete in delivering readily exploitable computing power to developers and users.
20 Comments
That's great and all, but when is Apple going to get around supporting all the OpenGL 3.x extensions?
Apple did their bit in rescuing Open GL from obscurity and the evil empire.
Expect 4.0 to be included in 'Lion' next June WWDC?
Lemon Bon Bon.
Expect 4.0 to be included in 'Lion' next June WWDC?
Lion? Is that a punt?
I wonder whether this will improve the performance of games on Mac? Team Fortress 2 runs like a dog on my MBP under OSX but plays very smoothly under Windows 7 on the same machine.
I wonder whether this will improve the performance of games on Mac? Team Fortress 2 runs like a dog on my MBP under OSX but plays very smoothly under Windows 7 on the same machine.
Only if the game engine takes advantage. Many games will still remain optimized for Windows and thus until their developers are dragged kicking & screaming over to the OpenGL side there is little way to fix the performance gap.
With the emergence of iOS as such a popular platform for game development though look for Apple to bring some development tools to OS X that give developers a way to port these products to a desktop platform. I think what we will see is more and more newer titles and even some new game companies breaking through from iPhone/iPad/iPod over to the desktop realm.
At this point Apple hasn't gotten serious about gaming on either desktop or AppleTV, but I am predicting this is about to change dramatically within the next 2 years.