Developed originally by Silicon Graphics Inc., OpenGL is
a 2D/3D graphics library which is available on most Win32, Unix and Linux
systems. OpenGL's main strengths are in the areas of 3 dimensional
visualisation and animation.
Calls to OpenGL routines in the GL and GLU libraries
(v1.10) can be included in Winteracter
programs. While other OpenGL interfaces exist for use from Fortran based
applications, the Winteracter OpenGL
interface offers some significant advantages
||OpenGL graphics can be routed to a window, memory bitmap or dialog
field. Other interfaces typically just offer output to a window.
||OpenGL images can be printed via
interfaces do not typically offer printing facilities.
||The full range of menu types (horizontal menu bar, toolbar and
floating menus are all available). Some other interfaces only offer
||All the other Winteracter
facilities are simultaneously available, combining state of the art 3D
graphics, with extensive user-interface and scientific graph plotting
||Text handling has been added (see below).
to OpenGL consists of two main components:
||A routine called
WglSelect which selects a target
drawing surface for OpenGL output.
||A module called
OPENGL which provides a Fortran 9x
interface to the various OpenGL graphics routines. The routine names are
the same as the C originals. Fortran 90 data types are also defined
which are directly analagous to the C equivalents. Together, these allow
easy translation of C based OpenGL code to Fortran 90/95.
program therefore needs to specify
USE OPENGL in each program
unit which will call OpenGL. A call to
WglSelect will be
required to specify the target drawing surface.
Win32 programs which call OpenGL routines require the
presence of two Windows system DLL's called
GLU32.DLL (the so-called GL and GLU libraries). These are
usually located in the Windows
directory. These are provided under Windows NT/2000/XP/98/Me and Windows 95
OSR2. Users of Windows 95 release 1 will need to download the OpenGL DLL's
from Microsoft's web site.
OpenGL support in Windows is 'generic'. In other words,
it will work on any of the systems noted above. Special 'OpenGL compatible'
video hardware is not required. Accelerated OpenGL support on PC video
hardware has become much more widespread in recent times, but the generic
software based interface can still be used where this is not available.
Where accelerated facilities exist, some older drivers may only provide
full-screen support or only support certain colour depths. However,
substantial performance benefits can be expected with suitable combinations
of 3D video hardware and OpenGL-aware drivers.
OpenGL is also supported under Linux. Typically, this is
achieved by linking with the Mesa workalike library.
We recommend use of a suitable reference book when
writing applications which use OpenGL. However, since most of the available
reference material is C oriented, the supplied on-line documentation
includes brief Fortran oriented descriptions of all of the supported OpenGL
functions. A selection of example programs are also included to illustrate
the use of OpenGL in Winteracter-based
Since OpenGL provides no text output facilities as
standard, Winteracter includes a set of
text support routines which are closely modelled on its own graphics text
handling facilities. These OpenGL text support functions provide access to
any True Type font under Windows and to a handful of built-in software-based
vector fonts under both Windows and Linux.
OpenGL is a trademark of Silicon Graphics Inc.
OPENGL module included with
Winteracter is a derivation of f90gl, the
official Fortran 90 OpenGL interface written by William F. Mitchell of the
Mathematical and Computational Sciences Division, National Institute of
Standards and Technology, Gaithersburg, MD 20899, USA. While ISS provided
some minor assistance in the Win32 implementation of the f90gl interface,
the credit for that interface belongs to William Mitchell. The
Winteracter implementation of the OpenGL
interface differs from f90gl in several ways: