OpenGL® Frequently Asked Questions
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.
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.
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.
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.
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.
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.)
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.
The OpenGL specification can be obtained at the Web site www.opengl.org.
The Windows operating systems include high-performance 3D graphics capabilities as a native part of the operating system using 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.
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.
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.
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.
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.
The OpenGL ARB is the OpenGL Architecture Review Board. It is an independent consortium, formed in 1992, that governs the OpenGL specification.
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.
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
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.
Visit www.opengl.org the official website is the official website of the OpenGL ARB.
There are many methods by which you can influence the evolution of the OpenGL API.
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.