Javascript Menu by Deluxe-Menu.com

 SOUTHWEST RESEARCH INSTITUTE

TSPI Products graphic

GraIL

 

Search SwRI

   

               SwRI Home

Site Map


Image of logo for the Graphics Interface Library (GraIL). SwRI analysts to provide more efficient service to clients.

Logo for the Graphics Interface Library (GraIL).  GraIL is  used by SwRI analysts to provide more efficient service to clients.

 

 

Image of a GraIL-developed in-flight refueling simulation. GraIL is used to develop 3-D models in support of in-flight refueling simulations.

GraIL is used to develop 3-D models in support of in-flight refueling simulations.

 

 

Image of a silver chalice.  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.

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:

    • Win32® windowing support

    • Support for multiple channels

    • Abstract interface for future windowing development

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:

  • SWIG

    • Open Source tool

    • Connects C/C++ code with a variety of languages

    • Perl, Python, Tcl/Tk, Ruby, C#, Java, Modula-3 and OCAML

    • Generates wrapper code

  • Develop your Graphical User Interface (GUI) in C# or Java and graphics in C++/GraIL

OpenGL Advanced Acceleration:

  • Vertex Arrays

    • Reduces number of OpenGL draw calls

    • Tightly pack vertex, normal, color, texture coordinate data

    • Support for interleaved arrays

  • Vertex Buffer Objects

    • Caches data in graphics memory

    • If supported, GraIL uses them by default

  • Performance results (96,280 poly model)

    • Immediate Mode = 3fps

    • Display Lists = 5fps

    • Vertex Arrays (no VBO) = 43fps

    • Vertex Arrays (w/VBO) = 60fps

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.

 

Contact Information

Brian Fisher

Modeling & Simulation

(210) 522-3762

brian.fisher@swri.org

tspi.swri.org

| Modeling & Simulation Department | Aerospace Electronics, Systems Engineering and Training Division | SwRI Home |

Southwest Research Institute® (SwRI®), headquartered in San Antonio, Texas, is a multidisciplinary, independent, nonprofit, applied engineering and physical sciences research and development organization with 11 technical divisions.

December 28, 2012