|
Datasheet
OpenGL®
The Industry's Foundation for High Performance Graphics
Most Widely Adopted Graphics Standard OpenGL is the premier environment for developing portable, interactive 2D and 3D graphics applications. Since its introduction in 1992, OpenGL has become the industry's most widely used and supported 2D and 3D graphics application programming interface (API), bringing thousands of applications to a wide variety of computer platforms. OpenGL fosters innovation and speeds application development by incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. Developers can leverage the power of OpenGL across all popular desktop and workstation platforms, ensuring wide application deployment. High Visual Quality and Performance Any visual computing application requiring maximum performance-from 3D animation to CAD to visual simulation-can exploit high-quality, high-performance OpenGL capabilities. These capabilities allow developers in diverse markets such as broadcasting, CAD/CAM/CAE, entertainment, medical imaging, and virtual reality to produce and display incredibly compelling 2D and 3D graphics.
OpenGL operates on image data as well as geometric primitives Simplifies Software Development, Speeds Time-to-Market OpenGL routines simplify the development of graphics software-from rendering a simple geometric point, line, or filled polygon to the creation of the most complex lighted and texture-mapped NURBS curved surface. OpenGL gives software developers access to geometric and image primitives, display lists, modeling transformations, lighting and texturing, anti-aliasing, blending, and many other features. Every conforming OpenGL implementation includes the full complement of OpenGL functions. The well-specified OpenGL standard has language bindings for C, C++, Fortran, Ada, and Java . All licensed OpenGL implementations come from a single specification and language binding document and are required to pass a set of conformance tests. Applications utilizing OpenGL functions are easily portable across a wide array of platforms for maximized programmer productivity and shorter time-to-market. All elements of the OpenGL state-even the contents of the texture memory and the frame buffer-can be obtained by an OpenGL application. OpenGL also supports visualization applications with 2D images treated as types of primitives that can be manipulated just like 3D geometric objects. As shown in the OpenGL visualization programming pipeline diagram above, images and vertices defining geometric primitives are passed through the OpenGL pipeline to the frame buffer. Supported on all UNIX® workstations, and shipped standard with every Windows NT® and Windows® 95 PC, no other graphics API operates on a wider range of hardware platforms and software environments. OpenGL runs on every major operating system including Mac® OS, OS/2®, UNIX, Windows 95, Windows NT, Linux, OPENStep, Python, and BeOS; it also works with every major windowing system, including Presentation Manager, Win32, and X/Window System. OpenGL is callable from Ada, C, C++, Fortran, and Java and offers complete independence from network protocols and topologies. Architected for Flexibility and Differentiation Although the OpenGL specification defines a particular graphics processing pipeline, platform vendors have the freedom to tailor a particular OpenGL implementation to meet unique system cost and performance objectives. Individual calls can be executed on dedicated hardware, run as software routines on the standard system CPU, or implemented as a combination of both dedicated hardware and software routines. This implementation flexibility means that OpenGL hardware acceleration can range from simple rendering to full geometry and is widely available on everything from low-cost PCs to high-end workstations and supercomputers. Application developers are assured consistent display results regardless of the platform implementation of the OpenGL environment. Using the OpenGL extension mechanism, hardware developers can differentiate their products by developing extensions that allow software developers to access additional performance and technological innovations.
The Foundation for Advanced APIs Leading software developers use OpenGL, with its robust rendering libraries, as the 2D/3D graphics foundation for higher-level APIs. Developers leverage the capabilities of OpenGL to deliver highly differentiated, yet widely supported vertical market solutions. For example, Open Inventor provides a cross-platform user interface and flexible scene graph that makes it easy to create OpenGL applications. IRIS Performer leverages OpenGL functionality and delivers additional features tailored for the demanding high frame rate markets such as visual simulation and virtual sets. OpenGL Optimizer is a toolkit for real-time interaction, modification, and rendering of complex surface-based models such as those found in CAD/CAM and special effects creation. The Fahrenheit Scene Graph, scheduled for release in 1999, will leverage OpenGL capabilities to provide a platform for applications and APIs across diverse market segments, allowing reduced development time, maximized performance, and high visual quality. The OpenGL Architecture Review Board (ARB), an independent consortium formed in 1992, governs the OpenGL specification. Composed of members from many of the industry's leading graphics vendors, the ARB defines conformance tests and approves OpenGL enhancements. Currently the board includes representatives from Compaq, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Intergraph, Microsoft, and SGI. The OpenGL ARB Web site can be found at www.opengl.org.
The OpenGL Performance Characterization Committee,
another independent organization, creates and maintains
OpenGL benchmarks and publishes the results of those
benchmarks on its Web site: The OpenGL standard is constantly evolving. Formal revisions occur at periodic intervals, and extensions allowing application developers to access the latest hardware advances through OpenGL are continuously being developed. As extensions become widely accepted, they are considered for inclusion into the core OpenGL standard. This process allows OpenGL to evolve in a controlled yet innovative manner. In the most recent revision of OpenGL (version 1.2), several capabilities that were previously available as extensions were rolled into the core OpenGL standard. ARB-approved OpenGL specifications and source code are available to licensed hardware platform vendors. End users, independent software vendors, and others writing code based on the OpenGL API are free from licensing requirements. See www.opengl.org/ for more information.
OpenGL Graphics Functions (partial list) Accumulation buffer. A buffer in which multiple rendered frames can be composited to produce a single blended image. Used for effects such as depth of field, motion blur, and full-scene anti-aliasing. Alpha blending. Provides a means to create transparent objects. Using alpha information, an object can be defined as anything from totally transparent to totally opaque. Anti-aliasing. A rendering method used to smooth lines and curves. This technique averages the color of the pixels adjacent to the line. It has the visual effect of softening the transition of the pixels on the line and those adjacent to the line, thus providing a smoother appearance. Color-index mode. Color buffers store color indices rather than red, green, blue, and alpha color components. Display list. A named list of OpenGL commands. The contents of a display list may be preprocessed and might therefore execute more efficiently than the same set of OpenGL commands executed in immediate mode. Double buffering. Used to provide smooth animation of objects. Each successive scene of an object in motion can be constructed in the back or "hidden" buffer and then displayed. This allows only complete images to ever be displayed on the screen. Feedback. A mode where OpenGL will return the processed geometric information (colors, pixel positions, and so on) to the application as compared to rendering them into the frame buffer. Gouraud shading. Smooth interpolation of colors across a polygon or line segment. Colors are assigned at vertices and linearly interpolated across the primitive to produce a relatively smooth variation in color. Immediate mode. Execution of OpenGL commands when they're called, rather than from a display list. Materials lighting and shading. The ability to accurately compute the color of any point given the material properties for the surface. Pixel operations. Storing, transforming, mapping, zooming. Polynomial evaluators. To support non-uniform rational B-splines (NURBS). Primitives. A point, line, polygon, bitmap, or image. Raster primitives: Bitmaps and pixel rectangles. RGBA mode. Color buffers store red, green, blue, and alpha color components, rather than indices. Selection and picking. A mode in which OpenGL determines whether certain user-identified graphics primitives are rendered into a region of interest in the frame buffer. Stencil planes. A buffer that can be used to mask individual pixels in the color frame buffer. Texture mapping. The process of applying an image to a graphics primitive. This technique is used to generate realism in images. For example, a tabletop drawn as a rectangle could have a wood-grain texture applied to it to make it look more realistic. Transformation. The ability to change the rotation, size, and perspective of an object in 3D coordinate space. Z-buffering. The Z-buffer is used to keep track of whether one part of an object is closer to the viewer than another. It is important in hidden surface removal. New Core Capabilities of OpenGL 1.2 The latest specification of the OpenGL API defines new core capabilities for all 1.2 implementations and a new optional imaging subset.
Optional Imaging Features of OpenGL 1.2 The optional imaging subset includes a variety of enhancements to the OpenGL pixel path. An implementation may or may not support the subset, but any implementation that supports it must provide all of the documented features. The imaging subset includes all of the following features:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||