OpenFlight is the native file format of Creator and is the de facto standard 3D file format for modeling and simulation.
Developed and supported by Presagis, unmatched real-world precision and reliability have made OpenFlight the most widely adopted 3D format in the visual simulation industry. The customizable extension capabilities of the OpenFlight format provide both the common ground for a diverse user community and a mechanism to save and reuse objects or environments for future projects. Developers will enjoy the flexibility, open connectivity, and easy interoperability of OpenFlight, along with advanced real-time functions.
The OpenFlight API—a flexible programming interface that gives you access to the read and write the OpenFlight format in your standalone program or in Creator—is available for free via the Presagis website and is bundled with Creator. The API simplifies the development of visual simulation applications and Creator plugins by making OpenFlight databases more accessible and easier to customize. In this way, you can easily develop specialized tools to augment the powerful set of Presagis modeling tools. The OpenFlight API provides interfaces for both the C programming and Python scripting languages.
To ensure the OpenFlight standard continues to serve the needs of the visual simulation community in the years to come, Presagis is attentively and actively engaging the community in open forums.
The logical hierarchical scene description file format in OpenFlight tells the real-time image generator what, when, and how to render, resulting in real-time 3D scenes with unmatched precision and reliability.
Developers will enjoy its flexibility, open connectivity, and easy interoperability along with such advanced real-time functions as
- Levels of detail (LOD)
- Culling volumes
- Switch Nodes
- Drawing priority
- Binary separating planes
The OpenFlight format is administered by Presagis. The standard bearer of the file format, Presagis Creator, offers the widest compatibility with the file format.
Download the OpenFlight Specification
Presagis application programming interfaces (APIs) are a quick and easy means of accessing and extending OpenFlight's geometry, attribution, and palette information. The API also facilitates the development of specialized tools and utilities to augment the set of powerful general-purpose modeling tools in Creator. Levels and highlights of the OpenFlight API include the following:
- OpenFlight Read/Write API: Read, write, convert, or load OpenFlight data in a native, consistent, and efficient way.
- OpenFlight Extensions API: Extend the nodes or palettes of the file formats in OpenFlight to support IG-specific and application specific features.
- OpenFlight Tools API: With OpenFlight Tools API, you can register and plug-in code for your unique tools or algorithms. In addition, plug-in code can take advantage of the 3D rendering, GUI, database tools, and other features in Creator.
OpenFlight User Group Meetings
Presagis hosts OpenFlight User Group meetings to gather input from the user community in order to announce new developments and obtain feedback to improve on it over time. Stay tuned for more information on upcoming OpenFlight User Group meetings.
OpenFlight is the native file format of Creator and is the de facto standard 3D file format for modeling and simulation.
|OpenFlight 16.7||OpenFlight Scene Specification for version 16.7 Covering: Presagis Creator v18.0||11/2018|
|OpenFlight 16.6||OpenFlight Scene Specification for version 16.6 Covering: Presagis Creator v16.0||12/2017|
|OpenFlight 16.5||OpenFlight Scene Specification for version 16.5 Covering: Presagis Creator v15.0||2/2016|
|OpenFlight 16.4||OpenFlight Scene Specification for version 16.4 Covering: Presagis Creator v4.0||6/2009|
|OpenFlight 16.3||OpenFlight Scene Specification for version 16.3 Covering: Presagis Creator v3.4||1/2008|
|OpenFlight 16.2||OpenFlight Scene Specification for version 16.2 Covering: Presagis Creator v3.2||1/2007|
|OpenFlight 16.1||OpenFlight Scene Specification for version 16.1 Covering: Presagis Creator v3.1||10/2005|
|OpenFlight 16.0||OpenFlight Scene Specification for version 16.0 Covering: Presagis Creator v3.0||12/2004|
|OpenFlight 15.8||OpenFlight Scene Specification for version 15.8 Covering: Presagis Creator v2.6||5/2003|
|OpenFlight 15.7||OpenFlight Scene,Specification for version 15.7 Covering: Presagis Creator v2.4; v2.4.1;,v2.5; v2.5.1||1/2001|
|OpenFlight 15.6||OpenFlight Scene Specification for version,15.6 Covering: Presagis Creator,v2.1; v2.2; v2.2.1; v2.3||9/1999|
|OpenFlight 15.5.1||OpenFlight Scene Specification for version 15.5.1 Covering: Presagis Creator v2.0; v2.0.1||9/1999|
|OpenFlight 15.4.1||OpenFlight Scene Specification for version 15.4.1 Covering: MultiGen II v1.4; v1.5||9/1999|
|OpenFlight 14.2/15.0||OpenFlight Scene Specification for version 14.2 and 15.0 Covering: MultiGen II v1.0 GameGen II v1.0 MultiGen v14.2; v14.3 GameGen v1.2 ModelGen2 v14.2||9/1999|
|OpenFlight 13.0||OpenFlight Scene Specification for version,13.0 Covering:,MultiGen version 13||6/1993|
|OpenFlight 12.0||OpenFlight Scene Specification for version 12.0 Covering: MultiGen version 12||12/1992|
|OpenFlight 11.0||OpenFlight Scene Specification for version 11.0 Covering: MultiGen version 11||3/1992|
|OpenFlight 10.0||OpenFlight Scene Specification for version 10.0 Covering: MultiGen version 10||4/1991|
|World Reference Model||Entity Flight Specification: Entity Models for Distributed Interactive Simulation (DIS) Interoperability||9/1999|
|MetaFlight||Schema Information (HTML Format)||12/2001||ZIP|
For over 10 years, Presagis has created solutions that promote productivity and innovation in the rapidly evolving world of realtime 3D visual simulation. Presagis is the leading developer of realtime 3D authoring software tools. We also define and support the industry standard realtime 3D scene description database, OpenFlight.
Presagis offers a suite of Application Programming Interfaces (APIs) to answer the demand for a quick and easy means of accessing and extending OpenFlight. These APIs simplify the development of visual simulation applications by making OpenFlight databases more accessible and easier to customize. They also facilitate the development of specialized tools and utilities to augment the Presagis comprehensive set of powerful, general-purpose modeling tools.
A track record of meeting customer needs
The OpenFlight APIs continue the Presagis commitment to advance customer productivity--a commitment that began 10 years ago when we first set out to solve the problem of database modeling for realtime image generators (IGs). Historically, every image generator used its own database format, and modeling tools were proprietary and exclusive to the image generator they supported. Then Presagis pioneered a revolutionary approach to support all image generators, regardless of their individual differences in database hierarchy and attributes. We identified a kernel of elements common to all IGs, such as polygonal representation, color, and texture, and developed a universal set of tools for modeling them. Unique attributes and structures were controlled through an IG-specific Data Base Logic (DBL) module.
This approach proved highly successful in reducing development time and cost. We used it to develop modelers for the Singer Link DIG and ATACDIG, Evans and Sutherland ESIG, and Lockheed-Martin Compuscene IG product lines. Link Miles and FlightSafety also adopted this approach for their proprietary IDEAL and EMR modelers.
Today, however, the scene has shifted. OpenFlight has surpassed all other database formats in popularity, becoming the de facto industry standard. At the same time, technology advances in graphics hardware has produced an explosion in visual simulation platforms that demand customized attributes. As a result, more and more companies want to extend OpenFlight, rather than go to the time and expense of writing a complete, unique DBL for their particular IG. MultiGen OpenFlight APIs provide the solution.
The OpenFlight API family
The Presagis suite of OpenFlight APIs includes the following:
- Read Data and Write Data APIs to open up access to the OpenFlight database
- Data Extensions API to customize OpenFlight databases by expanding data attribute files and adding database structures
- Tools API to aid the development of custom plug-in modeling tools
Improved access to OpenFlight databases
The Read Data and Write Data APIs improve access to the OpenFlight database and simplify the development of applications using OpenFlight. These APIs come standard with the Presagis product and are independent of the MultiGen realtime 3D modeling environment.
Data Read API
The Data Read API is the bridge between the OpenFlight database and image generators that use a different runtime format. The Data Read API provides basic access routines to open, query, retrieve, and document OpenFlight format files. API users can easily convert OpenFlight databases to a different runtime format by using the Data Read API routines in conjunction with their own value-added code.
This API significantly reduces the development effort previously required to build hardware-specific loaders or data converters. It also shields users from future changes in the OpenFlight structure, protecting their substantial development investment.
Data Write API
The Data Write API gives visual simulation developers greater flexibility to adapt OpenFlight databases to the unique requirements of target image generators. Providing a set of library functions, the Data Write API enables users to more easily:
- Modify the attributes of existing OpenFlight files.
- Manipulate the hierarchy of existing OpenFlight databases.
- Create new OpenFlight databases without using the MultiGen modeler.
- Convert external data formats to OpenFlight. Content created with commercially available modeling tools, such as various CAD packages, 3D Studio, or SoftImage, can be imported and stored in OpenFlight format.
Easy expansion of OpenFlight databases
The Data Extensions API lets visual simulation developers add attributes and functionality not directly supported by OpenFlight. Using the Data Extensions API from within the Presagis software development environment, developers can readily:
- Expand the data associated with OpenFlight data files
- Add new database nodes
How the Data Extensions API can be used
The Data Extensions API can be used to meet data requirements that are specific to an image generator but not native to OpenFlight. Just a few examples include:
- Allowing for multiple numbers of textures per polygon
- Calculating and storing face normals
- Expanding DFAD source data to be tagged along with OpenFlight polygons
- Customizing Level-of-Detail (LOD) implementation
- Including atmospheric flags in the database hierarchy
Because an OpenFlight file can have multiple extensions, developers can program for multiple image generators at the same time. The extensions for each target image generator are displayed on OpenFlight attribute pages within the MultiGen modeler. During modeling sessions, Presagis behaves as though the extensions are native to OpenFlight: Extensions are automatically written to and read from disk. They are displayed on Presagis attribute pages. They can be searched and modified.
All defining information about data extensions is contained in the Data Dictionary. The Data Dictionary includes extension name, data type, associated OpenFlight node, and conversion callbacks. For record extensions, the Data Dictionary also includes information about record length, content, and attachment rules. Presagis automatically consults the Data Dictionary during modeling sessions. If the extension requires extra processing--for example, a face normal calculation--the code to perform the function must be included. The Data Dictionary can be shared among Presagis users, or it can be withheld to protect proprietary information.
Specialized plug-in tools
Presagis provides a set of powerful modeling tools for building realtime 3D simulations. With the Tools API, currently under development, Presagis users will be able to expand this standard, general-purpose tool set with their own specialized tools that meet unique simulation requirements. The Tools API gives developers access to Presagis kernel subsystems, such as the Tool Manager, Undo Manager, and Message Handler, allowing them to customize the user interface, to manipulate the database hierarchy, and, in future releases, to take over rendering specifics. With this access, Presagis users will be able to build their own interactive plug-in modules within the Presagis software development environment. In addition, tools developed using the Data Read/Write or Data Extensions APIs can easily be converted into interactive tools by adding the features of a graphical user interface, such as tool dialogs and undo procedures.
How the Tools API can be used
Consider this scenario. A company in the flight simulation arena has developed standalone, proprietary software that automates the generation of digital database components for airport runways and associated runway lighting. Runway information--such as runway type (CAT-I, -II, -II), approach lighting system (ALSF-I, -II), and runway length, width, and heading--are input by the user. From this data, the proprietary software automatically generates a polygonal database for the runway environment. With the Tools API, the proprietary software can be integrated into the Presagis modeler so that the data definition and polygonization appears to be part of the Presagis GUI. Then the native Presagis capability can be used to insert the runway geometry into a terrain database and to perform smoothing functions at the runway/terrain boundary. To the user, the proprietary software and Presagis operate seamlessly, as though they are one package.
The most common Tools API applications are expected to be data and image format importers and exporters, data editors, and data viewers. However, the possibilities for applications are limited only by the requirements and ingenuity of the user.
Everything necessary to enhance productivity
Presagis OpenFlight APIs are available for both UNIX and Windows NT development environments. OpenFlight files created in one environment can freely migrate to the other with no developer intervention. Each API comes with a Programmer's Guide of step-by-step instructions and a Reference Manual. To get programmers up to speed quickly, sample code for many common functions is also provided.
For more information
The OpenFlight APIs demonstrate the Presagis commitment to raising customer productivity to the highest level. For information about how to get access to the OpenFlight API for development purposes, contact Presagis here.
|OpenFlight API 18 Windows||Contains Windows Installation Software and Documentation for Win64 VC12 (zip).||Software||Win64||1/2019|
|OpenFlight API 18 Linux RH6 x86 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x86 version of GCC 4.4 compiler.||Software||LinuxX86||1/2019|
|OpenFlight API 18 Linux RH6 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x64 version of GCC 4.4 compiler.||Software||LinuxX64||1/2019|
|OpenFlight API 18 Linux RH7 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 7 and x64 version of GCC 4.8 compiler.||Software||LinuxX64||1/2019|
|OpenFlight API 18 Windows||Contains Windows Documentation.||Documentation||Windows||1/2019|
|OpenFlight API 18 Linux||Contains Linux Documentation.||Documentation||Multi||1/2019|
|OpenFlight API 18 Release Notes||Contains Release Notes Documentation.||Documentation||Multi||1/2019|
|OpenFlight API 17 Windows||Contains Windows Installation Software and Documentation for Win64 VC12 (zip).||Software||Win64||7/2018|
|OpenFlight API 17 Linux RH6 x86 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x86 version of GCC 4.4 compiler.||Software||LinuxX86||7/2018|
|OpenFlight API 17 Linux RH6 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x64 version of GCC 4.4 compiler.||Software||LinuxX64||7/2018|
|OpenFlight API 17 Linux RH7 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 7 and x64 version of GCC 4.8 compiler.||Software||LinuxX64||7/2018|
|OpenFlight API 17 Windows||Contains Windows Documentation.||Documentation||Windows||7/2018|
|OpenFlight API 17 Linux||Contains Linux Documentation.||Documentation||Multi||7/2018|
|OpenFlight API 17 Release Notes||Contains Release Notes Documentation.||Documentation||Multi||7/2018|
|OpenFlight API 16 Windows||Contains Windows Installation Software and Documentation for Win64 VC12 (zip).||Software||Win64||9/2017|
|OpenFlight API 16 Linux RH6 x86 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x86 version of GCC 4.4 compiler.||Software||LinuxX86||9/2017|
|OpenFlight API 16 Linux RH6 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x64 version of GCC 4.4 compiler.||Software||LinuxX64||9/2017|
|OpenFlight API 16 Linux RH7 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 7 and x64 version of GCC 4.8 compiler.||Software||LinuxX64||9/2017|
|OpenFlight API 16 Windows||Contains Windows Documentation.||Documentation||Windows||9/2017|
|OpenFlight API 16 Linux||Contains Linux Documentation.||Documentation||Multi||9/2017|
|OpenFlight API 16 Release Notes||Contains Release Notes Documentation.||Documentation||Multi||9/2017|
OpenFlight 16 Patch 1
|OpenFlight API 16 Patch 1||Contains Windows Installation Software and Documentation for Win64 VC12 (zip).||Software||Win64||12/2017|
|OpenFlight API 16 Patch 1 Linux RH6 x86 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x86 version of GCC 4.4 compiler.||Software||LinuxX86||12/2017|
|OpenFlight API 16 Patch 1 Linux RH6 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 6 and x64 version of GCC 4.4 compiler.||Software||LinuxX64||12/2017|
|OpenFlight API 16 Patch 1 Linux RH7 x64 gcc||Contains software and Documentation (tar.gz). Requires RedHat 7 and x64 version of GCC 4.8 compiler.||Software||LinuxX64||12/2017|
|OpenFlight API 16 Patch 1 Windows||Contains Windows Documentation.||Documentation||Multi||12/2017|
Earlier Versions of OpenFlight API
If you require earlier versions of the OpenFlight API, please see our Customer Portal.