OpenGL® Frequently Asked Questions


What is an API and why is it important?

An API provides a defined method for developing applications software. Industry-standard APIs greatly simplify the software development process, reducing development cost and time. Platform-independent APIs enable PC, workstation, and supercomputing hardware vendors to provide high-performance 2D and 3D graphics solutions and enable ISVs to write an application once and deploy it across many platforms.

What is the OpenGL® API?

The OpenGL API is the most widely adopted 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms. The API is not tied to any one operating system and reflects the thinking and talents of software developers from diverse graphics backgrounds. As a highly versatile 2D and 3D graphics API, the OpenGL API enables developers of software for PC, workstation, and supercomputing hardware to create high-performance, visually compelling graphics software applications. The OpenGL API is a rendering-only, vendor-neutral API providing 2D and 3D graphics functions, including modeling, transformations, color, lighting, and smooth shading, as well as advanced features such as texture mapping, NURBS, fog, alpha blending, and motion blur. The OpenGL API works in both immediate and retained (display list) graphics modes.

The OpenGL API is window-system and operating-system independent. The OpenGL API has been integrated with Microsoft® Windows® and with the X Window System under UNIX®. Also, the OpenGL API is network-transparent. A defined common extension to the X Window System allows an OpenGL client on one vendor's platform to run across a network to another vendor's OpenGL server.

The OpenGL functions described on the data-sheet are available in every OpenGL implementation to make applications written with OpenGL easily portable between platforms. All licensed OpenGL implementations are required to pass the conformance tests and come from a single specification and language-binding document.

What are the benefits of OpenGL for hardware and software developers?

  • Industry standard. An independent consortium, the OpenGL Architecture Review Board, guides the OpenGL specification. With broad industry support, the OpenGL API is the only truly open, stable, vendor-neutral, multiplatform graphics standard. OpenGL implementations have been available for more than nine years on a wide variety of platforms. Additions to the specification are well-controlled, and proposed updates are announced in time for developers to adopt changes. Backward-compatibility requirements ensure that existing applications do not become obsolete.

  • Reliable and portable. All OpenGL applications produce consistent visual display results on any OpenGL API-conformant hardware, regardless of operating system or windowing system.

  • Evolving. Because of its thorough and forward-looking design, the OpenGL API allows new hardware innovations to be accessible through the API via the OpenGL extension mechanism. In this way, innovations appear in the API in a timely fashion, letting application developers and hardware vendors incorporate new features into their normal product release cycles.

  • Scalable. Applications based on the OpenGL API can run on systems ranging from consumer electronics to PCs, workstations, and supercomputers. As a result, applications can scale to any class of machine that the developer chooses to target.

  • Easy to use.The OpenGL API is well structured with an intuitive design and logical commands. Efficient OpenGL routines typically result in applications with fewer lines of code than those that make up programs generated using other graphics libraries or packages. In addition, OpenGL drivers encapsulate information about the underlying hardware, freeing the application developer from having to design for specific hardware features.

  • Well-documented. Numerous books have been published about the OpenGL API, and a great deal of sample code is readily available, making information about the OpenGL API inexpensive and easy to obtain.

I'm a hardware developer and would like to create an OpenGL implementation for my hardware. Is there code available to start? Or do I need to begin from the OpenGL specification?

A sample implementation (S.I.) of the OpenGL API has been available for a long time. Most implementations for UNIX and Windows OS-based operating systems were developed using the S.I. Originally, the S.I. was available from SGI for a fee; however, the S.I. was recently released under a very liberal open source license.

The S.I. is best designed for porting onto a system which supports the X Window System. You can drop this into the X Consortium's X11 server source tree and build a server with the OpenGL extension. To do this properly, you should have the MIT source for an X Server and some experience modifying it.

Note that this gets you a software renderer only. If your machine includes a graphics accelerator, the Sample Implementation is not designed to take any advantage of it.

Since the S.I. is available under an open source license, are there any other licensing requirements for hardware developers?

Hardware developers that wish to use the OpenGL trademark and logo in their advertising and that want to claim conformance to the OpenGL specification would need an additional license.

If the hardware developer is building an open source implementation of the OpenGL API for an open source platform (Linux®, FreeBSD), an additional license is available free of charge. Send e-mail to arb-secretary 'at' sgi.com for information.

For implementations that either are not open source or are not for open source platforms, a licensing fee is involved. For licenses for Windows OS-based platforms, a developer would need to work with Microsoft. For all other platforms, SGI is the point of contact.

I'm a software developer and just want to use the OpenGL API. Do I need to have a license?

Applications developers do not need to license the OpenGL API. If a developer wants to use the OpenGL API, that developer needs to obtain copies of a linkable OpenGL library for a particular machine or hardware device. Those OpenGL libraries may be bundled in with the development and/or run-time options or may be purchased from a third-party software vendor without licensing the source code or use of the OpenGL® trademark.

Since many implementations will be a shared library on a hardware platform, a royalty may be charged for each hardware platform. In those cases, it would not be charged for each application that used the OpenGL API.

In general, licensing a source code implementation of the OpenGL API would not be useful for an application developer, because the binary created from that implementation would not be accelerated and optimized to run on the graphics hardware of a machine.

How does a university or research institution acquire access to OpenGL source code?

As mentioned above, a sample implementation (S.I.) of the OpenGL API is available via an open source license. (Prior to releasing the S.I. on an open source license, there was a university/research institute license that is no longer needed.)

What is SGI's role in the future of the OpenGL API?

SGI is one of the members of the Architecture Review Board that controls the OpenGL technology standard. In this regard, SGI contributes to the evolution of OpenGL technology.

Where can I get the OpenGL specification?

The OpenGL specification can be obtained at the Web site www.opengl.org.

Does Windows support the OpenGL API?

The Windows operating systems include high-performance 3D graphics capabilities as a native part of the operating system using the OpenGL API.

Does the Mac® OS support the OpenGL API?

It was announced at MacWorld on January 5, 1999, that Apple Computer, Inc. has licensed OpenGL, and will incorporate OpenGL into future versions of the Macintosh® operating system, starting with the next release of Mac OS 8 and the first release of Mac OS X.

Does Linux support the OpenGL API?

Mesa (see www.mesa3d.org) is an implementation of OpenGL written for Linux systems. Both a run-time and a development environment are available via the XFree86 windowing system on Linux.

What other hardware supports the OpenGL API?

Many vendors have developed or are developing implementations of the OpenGL API for a variety of embedded hardware devices including aircraft avionics, PDAs (personal digital assistants such as Palm™), cellular phones, game consoles (Sony Playstation® 2), television set-top boxes, and display devices (X-Terms and network computers). The small size of the OpenGL API, its open nature, and now free use of the sample implementation make the OpenGL API an ideal graphics library for these types of applications.

What are the conformance tests?

The conformance tests are a suite of programs that judge the success of an OpenGL implementation. Each implementor is required to run these tests and pass them in order to use the OpenGL registered trademark with their implementation. Passing the conformance tests ensures source code compatibility of applications across all OpenGL implementations.

What benchmarks exist for OpenGL?

The OpenGL Performance Characterization (OPC) project subgroup of the Graphics Performance Characterization (GPC) group manages two benchmarks. viewperf which tests performance of viewsets representative of different real-world workloads, and GLperf which tests the performance of low-level primitive operations such as drawing triangle strips and copying pixels.

OPC maintains an independent Web site that describes the benchmarks in more detail and summarizes results reported by OpenGL vendors. for more information.

What is the OpenGL ARB?

The OpenGL ARB is the OpenGL Architecture Review Board. It is an independent consortium, formed in 1992, that governs the OpenGL specification.

How is the OpenGL API governed? Who decides what changes can be made?

The OpenGL API is controlled by an independent board, the Architecture Review Board (ARB). Each member of the ARB has one vote. The permanent members of the ARB are Compaq, Hewlett-Packard, IBM, Intel, Microsoft, SGI, Evans & Sutherland, and 3Dlabs. Additional members may be voted in over time. The ARB governs the future of the OpenGL API, proposing and approving changes to the specification, new releases, and conformance testing.

How does the OpenGL ARB operate logistically? When does the ARB have meetings?

ARB meetings are held once a quarter. The meetings rotate among sites hosted by the ARB members and other interested parties. To learn the date and place of the next OpenGL ARB meeting, watch the news group comp.graphics.opengl for a post announcing the next OpenGL ARB meeting, check the OpenGL Web site, or e-mail arb-secretary 'at' sgi.com and ask for the information. Meetings are run by a set of official bylaws. Minutes to the ARB meeting are posted on www.opengl.org

How do additional members join the OpenGL ARB?

Additional members may be added on a permanent basis or for a one-year term (auxiliary members). The one-year term members would be voting members, added on a rotating basis, so that different viewpoints (such as those of ISVs) could be incorporated into new releases. Under the ARB bylaws, SGI formally nominates new members.

How do I get more information about the OpenGL ARB?

Visit www.opengl.org the official website is the official website of the OpenGL ARB.

If I'm not a member of the ARB, am I shut out of the decision-making process?

There are many methods by which you can influence the evolution of the OpenGL API.

  1. Contribute to the comp.graphics.opengl news group. Most members of the ARB read the news group religiously.

  2. Contact any member of the ARB and convince that member that your proposal is worth their advocacy. Any ARB member may present a proposal, and all ARB members have equal say. You may also contact other OpenGL licensees. While licensees who are not ARB members may not vote, many do attend ARB meetings to present their views and opinions.

  3. Come to OpenGL ARB meetings and speak directly to the ARB.

Are ARB meetings open to observers?

The ARB meetings are open to observers, but we try to keep the meetings manageably small. Interested nonvoting representatives who inform the ARB secretary in advance, can observe and participate in the ARB meetings. At any time, the ARB reserves the right to limit the number of observers.