Khronos releases new OpenGL 4.1 spec
The Knronos Group released its latest OpenGL 4.1 specification today at the SIGGRAPH conference, introducing tighter integration with mobile OpenGL ES and OpenCL APIs and expanding its core capabilities to unlock graphics performance on both Macs and PCs and on iPhones and other mobile devices.
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.
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.
Comments
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.
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.
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.
Sphynx could be an appropriate name
What is taking Apple so long?!
Sounds good, but the question is when will it show up in OS X? Apple's appalling track record on OpenGL implementation and standards adoption has historically been extraordinarily pathetic.
... My bold italics.
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?
I'd heard the internal code name for it was Sabre-toothed Tiger...Or was it pussy?
OpenGL 4.1 specification released and ready for use by Apple
Would be as likely as the Pope announcing the release of a Vatican branded condom for Catholics whilst whispering to his Cardinals "I dare the flock to actually use them"
Thanks for the interesting article. I like the way you fill in the background.
Here is something that would be interesting to see: Through the years Standards open and closed, which companies have embraced/subverted standards and open source technologies in various aspects of desktop computing. (e.g. the Javascript wars, etc)
You have the background to do that. It would take way too much work for me.
First, Apple uses OpenGL for a lot of drawing in the OS, and they need that to be very stable. In contrast on windows OpenGL is used only for games or specific apps. The card manufacturers are able to ship implementations quickly that most likely are not nearly as robust as the OS X implementation.
Second, Apple writes a software fallback for all the OpenGL functions. This takes time after the spec is released as Apple needs to update the OpenGL stack, write the software fallbacks, and then the card vendors need to provide updated drivers.
It is no wonder that it takes longer to see updates to OpenGL on OS X, but hopefully we'll see a complete 3.0 in the 10.6.5 update.
WHERE is the OpenCL accelerated Handbrake? Where is the OpenCL accelerated Video-Encoder?
Where are the OpenCL Programs? I can only count 2 of them. As long as there is no OpenCL accelerated Video-Encoder out there, no one will give a damn about it.
So what video card can use this spec? I don't think any of the current ones can.
You need the spec before things can take advantage of it.
Sounds good, but the question is when will it show up. Apple's track record on the OpenGL implementation and standard adoption. has historically been pretty pathetic.
strongly agree
Whenever I hear OpenCL, I need to cry.
WHERE is the OpenCL accelerated Handbrake? Where is the OpenCL accelerated Video-Encoder?
Where are the OpenCL Programs? I can only count 2 of them. As long as there is no OpenCL accelerated Video-Encoder out there, no one will give a damn about it.
agree
Daniel
Thanks for the interesting article. I like the way you fill in the background.
Here is something that would be interesting to see: Through the years Standards open and closed, which companies have embraced/subverted standards and open source technologies in various aspects of desktop computing. (e.g. the Javascript wars, etc)
You have the background to do that. It would take way too much work for me.