 |
|
Logo for the Graphics Interface
Library (GraIL). GraIL is used by SwRI
analysts to provide more efficient service to
clients. |
| |
 |
|
GraIL is used to develop
3-D models in support of in-flight refueling simulations. |
| |
 |
|
GraIL supports advanced environmental effects
using shaders. These shaders allow programmers
to implement graphics effects that significantly
improve the realism of computer-generated imagery
through highly optimized programs. |
The application of real-time
three-dimensional (3D) graphics is a part of many of the
projects the Training, Simulation, and Performance Improvement
Division at Southwest Research Institute pursues. In an
effort to provide more efficient service to clients, SwRI
engineers put aside the proprietary commercial-off-the-shelf
(COTS) software tools used in the past to produce 3D graphics,
and developed a Graphics Interface Library (GraIL)
for in-house use in the support of client projects.
Development of GraIL
A core set of basic functionality was
developed to provide the basis for 3D graphics applications,
along with a series of auxiliary systems. The initial version of
GraIL included support for:
-
Importing 3D models and textures
-
Managing geometry and lighting using a
scene graph structure and traversals
-
Interfacing to an underlying graphics
runtime library to support 3D rendering
In addition, highly optimized math libraries
were developed to execute the numerous vector and matrix
operations required. Additional efforts focused on the initial
development of motion model systems, basic collision detection,
particle systems and environmental effects using shaders, whose
effects include:
-
Environment mapping
-
Wood surface effect
-
Water surface reflection and refraction
-
Bump mapping
-
Chromakeying support for blending video
-
Fast Fourier Transform (FFT) computations on the
Graphics Processing Unit (GPU)
GraIL's managers consist of:
-
A scene manager for automatic creation
and organization of a scene graph
-
A graphics manager that manages stages
of rendering process and triggers system callbacks
-
A windowing system to provide:
Other GraIL Features
Other GraIL features include:
-
Motion model algorithms including
trackball, fly, and drive
-
Motion manager acting as an Abstract
interface between motion model algorithm and nodes
-
Input Interface that allows motion model
algorithm interfaces with the input devices using the Input
Interface
-
Input device plugins whose input device
handlers load dynamically
Programming languages used by GraIL:
OpenGL Advanced Acceleration:
What GraIL Does
GraIL provides immediate support for SwRI
projects involving the use of 3D graphics. Access to and control
over the source code significantly increases SwRI’s development
flexibility and improves our ability to market our simulation
and visualization skills.
Through continuing efforts, the basic GraIL
capabilities will continue to be expanded through the addition
of innovative features. As GraIL is further developed, it will
satisfy the requirements of most 3D graphics software
development efforts.
Advantages of GraIL
-
Unique capabilities in project
applications
-
Reduces costs to clients by decreasing
development time and risk of errors associated with
application of other vendor tools
-
Debugging and enhancement capabilities
increased
-
Flexible licensing arrangements
For more information about
Graphics Interface Library (GraIL) capabilities and techniques at SwRI or how you can contract with
SwRI, please contact
Brian Fisher, at
brian.fisher@swri.org
or (210) 522-3762.
|