X Plane Graphics Interface File

X Plane Graphics Interface File Average ratng: 4,5/5 1989 votes
X-Plane
Genre(s)Flight simulator
Vehicle simulation game
Developer(s)Laminar Research
Austin Meyer
Publisher(s)Laminar Research
Aerosoft
Creator(s)Austin Meyer
Platform(s)Android
iOS
Linux
macOS
WebOS
Windows
First releaseX-Plane 1.00
1995; 25 years ago[1][2]
Latest releaseX-Plane 11.50[3]
September 9, 2020; 3 months ago
  1. X Plane Graphics Interface File Windows 10
  2. X Plane Graphics Interface File Size
  3. X-plane Cannot Open The Graphics Interface File
  4. C++ Interface Files

X-Plane is a flight simulation engine series developed and published by Laminar Research since 1995. Commercial desktop versions are sold for macOS, Windows, and Linux, although Laminar Research also distributes FAA-certified versions for professional use.[4] A mobile version is available for Android, iOS, and webOS since 2009 as well.[5]

  • My personal opinion is that apt files should be able to store non-flat runways and aprons with X-Plane being able to generate something properly shaped instead of flat. Other than that, having a settings file for tinkering while keeping the interface clean sounds like good thing to me.
  • Now, go ahead and open up X-Plane 11, click on settings, and navigate to Graphics. Visual Effects and Texture Quality: The level of detail and how everything looks, can be defined by these sliders. These depends mostly on how much memory your GPU has.

Road Map: Graphics and Performance. X-Plane 11.50 represents the first step in our long term performance road map: moving to modern, low overhead, high-performance rendering APIs. These APIs are multi-core friendly; for X-Plane 11.50 this results in better overall FPS and smoother performance, but only an incremental increase in multi-core use.

X-Plane is pre-packaged with several commercial and military aircraft, as well as basic global scenery, which covers most of the Earth. X-Plane also has a plugin architecture that allows users to create their own modules, extending the functionality of the software by letting users create their own worlds or replicas of places on Earth. This is further enhanced by the Scenery Gateway website, which allows users to share airports with other users, which can be eventually integrated into the base product.[6]

On November 25, 2016, Laminar Research released the public beta of the simulator's latest version, X-Plane 11, to the general public.[7][8] A second public beta was released on December 6, 2016, which fixed some major bugs.[9] The official release of X-Plane 11 was on March 30, 2017.

On 9 December 2019, X-Plane Mobile Global, a major update for the mobile port, was released. Although initially available for free, only five initial locations are available without purchase.[10]

Flight model[edit]

Screenshot of X-Plane 11.25: Beechcraft King Air C90 at Appleton International Airport out of the box

X-Plane differentiates itself from other simulators by implementing an aerodynamic model called blade element theory.[11] Traditionally, flight simulators emulate the real-world performance of an aircraft by using empirical data in predefined lookup tables to determine aerodynamic forces such as lift or drag, which vary with differing flight conditions. These simulators sufficiently simulate the flight characteristics of the aircraft, specifically those with known aerodynamic data, but are not useful in design work, and do not predict the performance of aircraft when the actual figures are not available.

Blade element theory improves on this type of simulation by modelling the forces and moments on an aircraft and individually evaluating the parts that constitute it. Blade-element theory and other computational aerodynamic models are often used to compute aerodynamic forces in real time or pre-compute aerodynamic forces of a new design for use in a simulator employing lookup tables.

With blade element theory, a surface (e.g. wing) may be made up of many sections (1 to 4 is typical), and each section is further divided into as many as 10 separate subsections. After that, the lift and drag of each section are calculated, and the resulting effect is applied to the whole aircraft. When this process is applied to each component, the simulated aircraft will fly similar to its real-life counterpart. This approach allows users to design aircraft quickly and easily, as the simulator engine immediately illustrates how an aircraft with a given design might perform in the real world. X-Plane can model fairly complex aircraft designs, including helicopters, rockets, rotorcraft, and tilt-rotor craft.

Extensibility[edit]

A Boeing 727-200F, one of the many 3rd party aircraft available for X-Plane

Users are encouraged to design their own aircraft, and design software titled Plane Maker and Airfoil Maker are included with the program. This has created an active community of users who use the simulator for a variety of purposes. Since designing an aircraft is relatively simple and the flight model can help predict performance of real-world aircraft, several aircraft companies use X-Plane in their design process.[12] The CarterCopter uses X-Plane for flight training and research. X-Plane also contributed to the design of the Atlanticablended wing body aircraft.

Through the plugin interface, users can create external modules that extend the X-Plane interface or flight model or create new features. One such feature is the XSquawkBox plugin, which allows X-Plane users to fly on a worldwide shared air traffic control simulation network. Other work has been done in the area of improving X-Plane's flight model and even replacing entire facets of X-Plane's operation.

X Plane Graphics Interface File Windows 10

Maps and scenery are fully editable. While no tool is provided to edit the 3D mesh objects, there are tutorials for using the third party 3D modelers AC3D, SketchUp, Blender, and Autodesk 3ds Max[13]

Network flight[edit]

X-Plane can connect to other X-Plane instances via a UDP/IP or TCP/IP network[14][15] for multiplayer flight simulation, networked multi-monitorX-Plane configurations or to plugins, such as Pilot Edge,[16] which themselves communicate with other X-Plane instances.[17][18][19]

The X-Plane IOS (Instructor Operation Station) can be used remotely (via the Internet) or locally (via a computer connected to the X-Plane session by a LAN) as part of a flight training session allowing a flight instructor to alter and control the aircraft in various ways. It can be used to simulate various aircraft system failures and also to change the weather, time, or location.

X-Plane is a popular simulator used to connect the VATSIM network. Two clients are used to do so, XSquawkBox and xPilot. XSquawkBox was originally developed several years ago, and xPilot was created as a modern client, built with a X-Plane 11-style UI.

Utilities[edit]

Multiple utilities are shipped with X-Plane 10/11 by Laminar Research for users to customize various aspects of the simulation.

World Editor is an overlay editor with a graphic user interface to facilitate editing of airports. With the most recent update, this utility global resources to allow users to submit data to be included in X-Plane by default with each update. The primary purpose of this tool is to modify and correct airport layouts. World Editor also can read the geographical coordinates in GeoTIFF files. In version 1.3r1, a new feature was added to allow users to submit airports using default assets to an Airport Scenery Gateway.[20]

Commercial and professional use[edit]

The professional use version of X-Plane includes all the features of the personal use version, but has more capabilities depending on the license used. A commercial use license can be used which allows one to use X-Plane without being tied to a specific computer via e.g. a disk or USB key. The commercial version also supports 'kiosk mode' in which X-Plane's settings can be locked via password protection.[verification needed] The professional use version can also allow one to generate revenue from X-Plane related content.

The professional use version allows FAA certified flight training hours to be logged, but the computer system running X-Plane must be tested to meet minimum frame-rate requirements and have its hardware and all associated simulation hardware tested to be FAA certified. Furthermore, FAA certification may require expensive simulation hardware ( e.g. professional flight simulation hardware ).

The professional use version also enables the use of more advanced flight simulation hardware compared to the personal use version. For example, the professional use version is capable of cylindrical and spherical projection, which is commonly used in large and/or expensive professional flight simulators. The professional use version also has the ability to drive Garmin Real Simulator Units.[4]

See also[edit]

  • Microsoft Flight Simulator (Flight Simulator 2020)

References[edit]

X Plane Graphics Interface File Size

  1. ^'Interview-With-Austin-Meyer'. Retrieved 30 December 2018.
  2. ^'Interview : Austin Meyer, the man behind X-Plane!'. Retrieved 30 December 2018.
  3. ^'X-Plane 11.50 Now Released'. X-Plane. 9 September 2020. Retrieved September 10, 2020.
  4. ^ ab'X-Plane for Professional Use'. Retrieved 2018-11-19.
  5. ^'Meet X-Plane Mobile - X-Plane'. Retrieved 2011-01-31.
  6. ^'X-Plane Scenery Gateway'. Retrieved 2020-07-03.
  7. ^'X-Plane 11.00b1 now available'. X-Plane. 25 November 2016. Retrieved 7 December 2016.
  8. ^X-Plane [@XPlaneOfficial] (8 October 2016). 'X-Plane 11 is coming this November! Check out for more details!' (Tweet) – via Twitter.
  9. ^'Some Bugs We're Working on for Public Beta 2'. X-Plane Developer. Retrieved 7 December 2016.
  10. ^'X-Plane Mobile Global Released'. ThresholdX. 2019-12-09. Retrieved 2020-08-24.
  11. ^'How X-Plane Works - X-Plane'. Retrieved 18 November 2017.
  12. ^'Apple - Games - Articles - X-Plane'. Retrieved 2014-11-19.
  13. ^'X-Plane 8 Scenery Tutorials'. Retrieved 2007-11-22.
  14. ^'Background info'. Nuclear Projects. Retrieved 2016-11-26.
  15. ^'X-Plane Reference'. Nuclear Projects. Retrieved 2016-11-26.
  16. ^'How it works'. Pilotedge. Retrieved 2016-11-26.
  17. ^'X-Plane Manual'(PDF). Retrieved 2016-11-26.
  18. ^'Useful downloads'. Archived from the original on 2010-09-22. Retrieved 2016-11-26.
  19. ^'X-Plane 10 Desktop Manual'. Retrieved 2016-11-26.
  20. ^'The Gateway Lives - X-Plane Developer'. developer.x-plane.com. Retrieved 18 November 2017.

External links[edit]

Wikibooks has a book on the topic of: X-Plane Flight Simulator
  • Official website
  • X-Plane at Curlie
  • X-Plane at MobyGames
Retrieved from 'https://en.wikipedia.org/w/index.php?title=X-Plane_(simulator)&oldid=990760087'

Note: This article is for plugin developers. If you’re a user just trying to install a plugin, please see the “Expanding X-Plane” section of the X-Plane manual. (The exact method of installation depends on the plugin, but for many plugins, you can simply drop the plugin directory into your Resourcesplugins directory.)

Platform Choices & Decisions

X-Plane supports plugins for all three operating systems (macOS, Windows, and Linux). This article covers issues of building and packaging plugins.

Which API to Use

There are three revisions of the X-Plane plugin API:

  • 1.0 API is supported by X-Plane 6.70 and newer.
  • 2.0 API is supported by X-Plane 9.00 and newer, is a superset of the 1.0 API
  • 2.1 API is supported by X-Plane 10.00 and newer, is a superset of the 2.0 API
  • 3.0 API is supported by X-Plane 11.10 and newer, is a superset of the 2.1 API

Plugins are almost the same for all APIs; a few exceptions for compiling and linking 2.0+ plugins will be noted.

You can use the latest SDK download to build your plugin no matter what version of the API you are targeting. By default your plugin will only be able to use 1.0 APIs and run on any version of X-Plane.

If you define the symbol XPLM200, then the 2.0 API will be available to your code, and your plugin will only work on X-Plane 9 and later.

Likewise, if you define the symbol XPLM210, you’ll have access to the 2.1 API and your plugin will only work on X-Plane 10 and newer.

Finally, if you define the symbol XPLM300, you’ll get access to the 3.0 API, and your plugin will work X-Plane 11.10 and newer.

If you’re just starting out, we recommend using the SDK 3.0 API and defining XPLM200, XPLM210, and XPLM300.

If you’re building a backward-compatible plugin (say, for both X-Plane 10 and 11), you can link against the 2.0 API and use the XPLMFindSymbol() utility to optionally fetch newer APIs. If they are not present, your plugin will receive a NULL return value and can take a fallback path.

Plugin Containers

Plugins are DLLs (dynamically linked libraries). While these have different names on different operating systems, the concept is the same: code that is linked into X-Plane while it is running. We will use the term DLL generically to mean a shared library of the appropriate type for your chosen ABI. The container types are:

X-plane Cannot Open The Graphics Interface File

  • DLLs (.dll) for Windows
  • Shared Objects (.so) for Linux
  • Shared Dynamic Libraries (.dylib) for macOS

Note that in all of these cases the plugin’s extension is .xpl, as dictated by SDK conventions, not the native platform.

Packaging Thin Plugins

A “thin” plugin is the original way of packaging plugins: the plugin consists of a single DLL with the extension .xpl, which is dropped into X-Plane’s Resourcesplugins directory. All auxiliary files (image files, etc.) must be kept outside the plugin. Thin plugins are the only packaging supported by the 1.0 API. (Originally thin plugins were just called “plugins”.)

CSR-20 & CSR-40, October 1999 Introduction About This Manual The information in this manual is provided to assist owners, operators and service people in the proper upkeep and mainte-nance of Thermo King units. Thermo king csr 20 manual. View and Download Thermo King CSR Series manual online. CSR Series refrigerator pdf manual download. Also for: Csr40sl-167 power saver, Csr20sl-144. Road Rail Marine Why Thermo King Locate a Dealer Careers Newsroom TracKing Alarm Codes Contact Us Region/Language Road ConnectedSuite™ Telematics Auxiliary Power Units Parts & Accessories for Road Electrification Solutions Road Maintenance Programs Pharma Transport Trailers Trucks & Vans Buses & Shuttles. Thermo King CSR Series: Manual Brand: Thermo King Category: Refrigerator Size: 5.14 MB Pages: 189 This manual is also suitable for: Csr40sl-167 power saver, Csr20sl-144 power saver, Csr40-145 power saver, Csr20sl-155 power saver.

The obvious downsides of this are that you have to distribute a different plugin for each operating system, and you don’t get a plugin “home” directory to pack your resources.

In order to build a thin plugin, make sure your plugin ends in the extension “.xpl”.

Packaging Fat Plugins (XPLM 2.0 API)

A “fat” plugin is a folder containing one or more plugins. The plugins inside the folder have the specific names win.xpl, mac.xpl and lin.xpl. A fat plugin provides a container format that is portable across multiple operating systems; X-Plane loads only the plugin that is appropriate for the host computer and ignores the rest. The folder can also contain support files, allowing the user to install the plugin by dragging a single folder.

Fat plugins require the 2.0 API, and are the recommended way of packaging plugins that would require the 2.0 API or X-Plane 9 for other reasons.

To build a fat plugin, make sure the actual binary is inside a folder (which in turn is inside the plugins folder) and that the binary is named win.xpl for Windows, mac.xpl for OS X, or lin.xpl for Linux.

The recommended layout for a fat plugin is:

Packaging Fat Plugins (XPLM 2.1 API)

New in X-Plane 10 are the 32-bit and 64-bit variants of fat plugins. In this case, the plugin packaging looks like this:

  • my_plugin/
    • 64/
      • mac.xpl
      • win.xpl
      • lin.xpl
    • 32/
      • mac.xpl
      • win.xpl
      • lin.xpl

(Note that you don’t need to ship both 32- and 64-bit variants of your plugins to use this packaging.)

Packaging Fat Plugins (XPLM 3.0 API)

As of X-Plane 11.10, we support one more format for packaging plugins. The downside to the 2.1 format is that all plugins are named [platform].xpl, which makes debugging tools hard, if not impossible, to use with shipping plugins. (They assume that all DLLs will have unique names, and therefore get confused if you have multiple plugins loaded that are both called, e.g., win.xpl.)

Graphics

For that reason, as of XPLM 3.0, you can package plugins like this:

  • my_plugin/
    • mac_x64/
      • my_plugin.xpl
    • win_x64/
      • my_plugin.xpl
    • lin_x64/
      • my_plugin.xpl

(Note, of course, that X-Plane 11 supports only 64-bit plugins.)

Global, Aircraft, or Scenery Plugin

A “global” plugin is one that is installed in the Resourcesplugins folder. This is the original way to install a plugin and the only one supported by the 1.0 SDK. Global plugins must be installed directly into the plugins folder (which is in turn inside the Resources folder); sub-folders are not examined.

The 2.0 API also allows plugins to be stored with aircraft; such aircraft-based plugins are loaded when the user loads the plane (not counting multi-player use of the plane) and unloads the plugin when the user picks another aircraft.

The 2.1 API also allows plugins to be stored with a scenery pack; such scenery-based plugins are loaded at startup with the global plugins, so be sure to keep resource use to zero when the user is not in your scenery area.

C++ Interface Files

Only fat plugins can be stored with an aircraft or scenery pack. An aircraft plugin goes in a “plugins” folder that in turn is inside the root folder of your aircraft package. A scenery plugin goes into a “plugins” folder that in turn is inside the root folder of your scenery package.

Compiling Plugins

This section describes some of the issues when compiling plugins. This document is not meant to be substitute for the original documentation for your development tools, nor is it meant to be instructional in this regard. You should be able to use your chosen tool set to build DLLs before you begin writing plugins.

The simplest way to compile your plugins is to start with one of the examples, which come with project files and perform all the setup described below.

Recommended Compilers

We do not recommend any particular compiler, but there are more SDK-related resources available for the compilers used to produce the basic examples. Those compilers are:

  • macOS: LLVM (via Xcode)
  • Windows: Visual Studio 2010 Express or Visual Studio 2015
  • Linux: GCC 4.x

The sample code provides templates that support these compilers. One way to get started is to download a sample and then replace the code while keeping the project.

Setting Up Defined Macros

In order to use the X-Plane SDK headers, you must pre-define some macros before including any SDK headers. This is usually done by setting up the definitions (a.k.a. preprocessor macros) in your compiler settings. Most compilers accept the command-line option -D<symbol>=<value>; Xcode and Visual Studio both have project settings to predefine symbols, and in both cases they result in -D command-line options being sent to the compiler.

You must define one of the macros APL, IBM, or LIN to 1, depending on the OS you are compiling for. Driver for hp laserjet pro 400. If no platform is defined, you will get a “platform not defined” compile error as soon as you include any SDK headers. Typically you would define the platform in the project settings or make file for each platform, so that the code can be shared between all three without modification.

Macros for the 2.0 and newer SDK APIs

In order to use the 2.0 APIs, you’ll need to define the symbol XPLM200. To the the 2.1 APIs, you’ll need to also define XPLM210, and for the 3.0 APIs, you’ll need to define all three of XPLM200, XPLM210, and XPLM300.

(This feature is designed to let you build plugins that link against old versions of the SDK from the same SDK headers. If newer symbols are not defined, you cannot accidentally use a newer routine.)

Including the SDK Headers

To use X-Plane SDK functionality, you must include the SDK headers, like this:

In order for this to work, you must tell your compiler where to locate the header files. You must first decide where to install the header files. There are two basic choices:

  • If you work on your projects by yourself, you can pick one location on your hard drive to place the SDK and use it for all of your projects. The advantage is you will only have one copy of the SDK to update in the future.
  • If you share your projects with other developers, it is important that the SDK location be the same for all developers, and be located relative to the project. (Otherwise all developers would need the same hard drive name.) In this case, it makes sense to copy the SDK headers and libraries into the source tree of each project.

Once you have decided on an install location, you must provide your installer with an include path that tells it where the headers are. For example,

Most compilers require one include path for each directory to be searched.

OpenGL Considerations

OpenGL is not part of the SDK, but it is the main API for drawing from plugins, so you will almost certainly need it to create any kind of custom graphics. OpenGL deployment varies a bit by platform.

On macOS, OpenGL is a framework, and it is always available. Using OpenGL requires two steps:

  1. Add the framework to your project in Xcode (or use -framework OpenGL on the command line).
  2. Include the headers like this:

For Windows and Linux, include OpenGL like this:

On Linux, you may have to first install a package, e.g.:

(Specific instructions for your distro may vary.)

DLL Attach Functions for Windows

Windows requires a “DLLMain” function to be included in your code. It is essentially boilerplate, and typically doesn’t have to do any useful work. Here is a sample DLLMain function:

Symbol Visibility (GCC4 or higher)

For GCC-based environments (command-line Linux), the default behavior is to export all non-static C functions out of your plugin. This is not what you want, and can cause serious compatibility problems for 32-bit plugins. To get around this, use

on your compiling command line.

The macro PLUGIN_API (defined by XPLMDefs.h) automatically marks a symbol as exported, so yo can do this:

and your plugin will work correctly.

Linking Plugins

Linking is the process of taking your compiled code and making an actual DLL file on disk that is your plugin.

Linking on Windows

You will need to link against XPLM.lib, found in the SDK under SDK/Libraries/Win. Link against:

  • 32bit plugins: XPWidgets.lib, XPLM.lib
  • 64bit plugins: XPWidgets_64.lib, XPLM_64.lib

If you are using OpenGL, you’ll also want to link against OpenGL32.lib.

We recommend you set all MSVC settings to avoid depending on external DLLs other than the CRT runtime; these DLLs may not be present on destination machines, and can cause your plugin load to fail. Linking the CRT runtime statically however will cause problems for users who have a lot of plugins installed and run out of TLS slots when loading plugins.

  • C++ Code Generation: set the runtime to “multi-threaded DLL”, not “multi-threaded.”
  • General: do not use common language runtime support or MFC.

Linking on macOS

You will need to add XPLM.framework and XPWidgets.framework from the SDK to your plugin; you may also need to add the system frameworks OpenGL and possibly System or CoreFoundation to your plugin depending on what Mac settings you use.

Do not use the options “-undefined_warning” or “-flat_namespace” – these are no longer needed and not recommended.

Interface

Linking on Linux

There are no link libraries on Linux for the SDK; instead pass the command-line option

to the linker. This will let you link despite not having XPLM symbols defined. To include libraries like OpenGL use this:

Finally, you may need to use a linker-script for your 32-bit plugin to avoid symbol collisions. To do this, create a file like this:

and then refer to it on the command line like this: