Lecture No.32 Introduction to OpenGL
As a software interface for graphics hardware, OpenGL renders multidimensional objects
into a frame buffer. OpenGL is industry-standard graphics software with which
programmers can create high-quality still and animated three-dimensional color images.
OpenGL is built for compatibility across hardware and operating systems. This
architecture makes it easy to port OpenGL programs from one system to another. While
each operating system has unique requirements, the OpenGL code in many programs can
be used as is.
Designed for use by C/C++ programmers
OpenGL can run on Linux and all versions of 32 bit Microsoft Windows.
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.
An independent consortium, the OpenGL Architecture Review Board, guides the
OpenGL specification. With broad industry support, OpenGL is the only truly
open, vendor-neutral, multiplatform graphics standard.
OpenGL implementations have been available for more than seven 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
xReliable and portable
All OpenGL applications produce consistent visual display results on any
OpenGL API-compliant hardware, regardless of operating system or windowing
Because of its thorough and forward-looking design, OpenGL 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.
OpenGL API-based applications 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.
xEasy to use
OpenGL 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.
Numerous books have been published about OpenGL, and a great deal of sample
code is readily available, making information about OpenGL inexpensive and
easy to obtain.
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-