The Next Small Thing: After More Than Twenty-One Years, OpenGL Goes MobileJuly 24, 2013
1992 was a big year. The leaders of the United States and Russia declared the Cold War was, officially, over. South Africans voted to abolish apartheid. Tim Berners-Lee and a handful of other researchers scattered around the world were already building out the still nascent World Wide Web.
And SGI released a new application programming interface it called OpenGL, for Open Graphics Library. The idea behind OpenGL is a powerful one: it’s a cross-language standard that can be used on a wide variety of hardware to render 2D and 3D graphics, just as the Web can be used to exchange text on a wide variety of devices.
Now overseen by the Khronos Group, a non-profit industry consortium, OpenGL sits at the center of a sprawling worldwide ecosystem of hardware and software that has delivered a dazzling array of applications – including computer-aided design, flight simulation, scientific visualization and gaming – to hundreds of millions of PC users around the globe
And just as the World Wide Web would revolutionize the PC – and then go on to upend mobile communications – OpenGL is poised to do the same. It promises to give companies building mobile devices the ability to tap into the graphically rich applications that are now standard on the world’s PCs. And it gives software developers a set of hooks they can use so they can tap gobs of graphics power with just a few simple commands.
We know this because a subset of OpenGL targeted at embedded devices introduced 10 years ago – OpenGL ES – has already been a huge success. OpenGL ES has raised the bar for graphics on everything from phones to appliances and cars. The good news as OpenGL ES turns 10: thanks to OpenGL, there’s more where that came from.
That’s why we’ve raced to be the first to put OpenGL into mobile devices with the Project Logan GPU we’re announcing at SIGGRAPH, more than twenty-one years after OpenGL was released. It’s based on the same Kepler architecture that powers our latest generation of GPUs – including the GeForce GTX Titan and our GeForce GTX 780 GPUs — shrunk down to fit on Logan, a chip no bigger than a thumbnail.
We’re offering an early taste of what this will mean at SIGGRAPH, where we’re showing off a mobile version of the demo of an amazingly lifelike talking head – whom we’ve dubbed ‘Ira’ – that we gave earlier this year at our GPU Technology Conference. That demo was powered by high-end PCs running our latest Kepler-based graphics cards. Our mobile demo taps into the mobile version of that same Kepler architecture to do the same.
We’re also showing off a Logan running the next generation of Epic Games’ Unreal Engine technology. Epic’s game engine already powers hundreds of cutting-edge PC and console games. Because Logan supports OpenGL, we are able to show desktop PC game content using Epic’s next-generation Unreal Engine 4, on a chip no bigger than a fingernail, giving game developers a taste of what OpenGL will make possible.
There’s potential here for more than just gaming, of course. Pixar is also working with the broader OpenGL community on OpenSubdiv, which promises to make Catmull-Clark subdivision surfaces – which can generate extraordinarily smooth surfaces in digital images – a geometry standard. Full OpenGL on the Project Logan’s GPU means the power of OpenSubdiv – previously available only on high-end workstations – will run on mobile as well. “This is a big step forward,” said Pixar CTO Steve May. “Subdivision capability on mobile creates a huge incentive for the rest of the ecosystem to adopt this surface standard.”
So what’s next? We do know that when powerful PC and mobile technologies come together, the results are spectacular. Putting both OpenGL ES and OpenGL into the palm of your hand will let developers create amazing games that scale from tablets all the way up to high-end gaming PCs. It also opens up new frontiers as mobile devices tap into the power of visual computing to help their users navigate the world around them.
In short, being 21 is always awesome. For OpenGL it should be no different.