Web OpenGL® is a software library used for including 2D and 3D computer graphics on a website. As a public specification, OpenGL® can be freely implemented on any platform without royalty. Partially for this reason, it has become quite popular and, by mid 2011, was supported by every major web browser through the WebGL™ library. In addition to its popularity on personal computers, Web OpenGL® is available on many other platforms, such as mobile phones and some video game consoles.
In the early 1990s, computer graphics programmers were facing the complicated job of programming software that supported a rapidly increasing number of graphics cards. Each manufacturer provided its own software libraries to help with the task, but programmers would still have to separately program graphics for each piece of hardware. Each program would then have to be separately tested on different hardware. If any new graphics cards were released after the software was released, there was a high probability that the software would have to be updated to work with the new hardware. This process was difficult, time consuming, and expensive.
One solution to this problem was OpenGL®. The new software library could be implemented on every new graphics card, meaning that programmers would only have to program their graphics once, and, as long as graphics drivers were accurate and up to date, the software would run. OpenGL® also solved the testing problem: all graphics cards became more-or-less the same from a programming perspective. As it runs the same on every type of computer, it opened up the possibility of easily porting games and other graphics software between different operating systems and even hardware platforms. Usually OpenGL® is implemented by the manufacturer of each new graphics card.
As more and more content became available online, the issue of how to handle online interactive rich media content became more of a concern. OpenGL® had already solved the problem for software, but websites have technical restrictions on how much access they have to a computer and its hardware. Web OpenGL® attempts to solve that problem by making the OpenGL® library available inside a browser without granting web apps any other access to the computer they are running on.
There are, however, some disadvantages to Web OpenGL®. First, although it is implemented on all major browsers, it may not be installed on a specific computer, especially if that computer is running older software. Web OpenGL® can be very resource intensive, and may not run smoothly on lower end computers or netbooks. The programmer can specify exactly what he wants the computer to display, but the rendering process may fail or break in unexpected ways.