SwRI-Owned Three-Dimensional Graphics Engine Development, 07-9459Printer Friendly Version
Inclusive Dates: 01/19/04 - Current
Background - Many of the projects that the Training, Simulation, and Performance Improvement (TSPI) Division pursues involve the application of real-time, three-dimensional (3D) graphics. In the past, TSPI has employed a variety of proprietary commercial off-the-shelf (COTS) software tools or "graphics engines" to produce 3D graphics. While the use of a COTS graphics engine simplifies application development, the associated licensing requirements, restrictions, and costs greatly limit SwRI's ability to develop and deliver cost-effective graphics applications that offer our clients the flexibility they desire.
Approach - The objective of this project is to develop a SwRI-owned graphics engine to address the restrictions and limitations of COTS software and to reduce SwRI dependence on outside vendors. As a result of this effort, the SwRI Graphics Interface Library (GraIL) is under development for in-house use in the support of client projects and future internal research and development efforts. A core set of basic functionality will provide the basis for 3D graphics applications, along with a series of auxiliary systems that will be used to extend the initial capabilities.
Accomplishments - The initial version of GraIL includes support for importing 3D models and textures, managing geometry and lighting using a scene graph structure and traversals, and 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 focus on the initial development of motion model systems, basic collision detection, particle systems, real-time shadows and environmental effects using shaders. GraIL has already been used to support multiple internal research and development efforts in TSPI including the real-time simulation of water using Fast Fourier Transforms and the development of real-time video blending operations running on a Graphics Processing Unit.