FlightGear: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
(38 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Infobox Software
{{Infobox Software
| title                 = FlightGear
|title             = FlightGear Flight Simulator
| logo                   = fglogosm.jpg
|logo             = FlightGear logo.png
| image                 = FlightGear - 1903 Wright Flyer.jpg
|logosize          = 200px
| alt                   = [[Wright Flyer (UIUC)|Wright Flyer]] in 0.9.9
|image             = Boeing 777-200ER cockpit.jpg
| developedby           = FlightGear Developers & Contributors
|alt               = The cockpit of the [[Boeing 777-200ER]]
| initialrelease         = July 17, 1997
|developedby       = FlightGear developers & contributors
| latestrelease         = 2.10 (February 17, 2013)
|initialrelease   = July 17, 1997
| writtenin             = C++
|latestrelease     = {{current release|full}} ({{#time: j F Y |{{current release|fulldate}}}})
| os                     = 32-bit Windows, Linux, Mac OS X, FreeBSD, Solaris or IRIX
|writtenin         = C and C++
| platform               = Cross-platform
|os               = Windows, Mac OS X, Linux, and FreeBSD<ref>{{cite web|url=http://www.flightgear.org/download/main-program/|title=http://www.flightgear.org/download/main-program/|accessdate=February 15, 2015}}</ref>
| developmentstatus     = Active (1996-)
|platform         = Cross-platform
| type                   = Flight simulator
|developmentstatus = Active (1996-present)
| license               = [[GNU General Public License]]
|type             = Flight simulator
| website               = http://www.flightgear.org/
|license           = [[GNU General Public License]]
}}[[File:OV10A-NASA-in-action.jpg|thumb|right|270px|NASA [[OV-10]] in FlightGear 1.0]]
|website           = http://www.flightgear.org/
 
}}
'''FlightGear Flight Simulator''' (often shortened to '''FlightGear''' or '''FGFS''') is a sophisticated free, completely open-source flight simulator framework, created by volunteers. FlightGear is released under the terms of the [[GNU General Public License]]. FlightGear is mostly written in the C++ programming language.
[[File:OV10A-NASA-in-action.jpg|thumb|right|270px|NASA [[OV-10]] in FlightGear 1.0]]
'''FlightGear Flight Simulator''' (often shortened to '''FlightGear''' or '''FGFS''') is a sophisticated, free, and completely open-source flight simulator framework, created by volunteers. FlightGear is released under the terms of the [[GNU General Public License]]. FlightGear is mostly written in the C and C++ programming languages.


Increasingly detailed and realistic versions of FlightGear have been released every year since the project was started in 1996.
Increasingly detailed and realistic versions of FlightGear have been released every year since the project was started in 1996.
Line 39: Line 40:
This customizability of FlightGear is illustrated by the wide range of aircraft models that are available in FlightGear, from [[:Category:Gliders|glider]]s to [[Helicopter]]s, and from [[:Category:Airliners|airliners]] to [[Military aircraft|fighter jets]]. These aircraft models have been contributed by many different people.
This customizability of FlightGear is illustrated by the wide range of aircraft models that are available in FlightGear, from [[:Category:Gliders|glider]]s to [[Helicopter]]s, and from [[:Category:Airliners|airliners]] to [[Military aircraft|fighter jets]]. These aircraft models have been contributed by many different people.


The FlightGear aircraft use one of three main data models JSBSim, YAsim, or UIUC as of version 0.9.10. Currently only one terrain engine is used, TerraGear. Weather effects include 3D clouds, lighting effects, and time of day.
The FlightGear aircraft in general use one of two main flight data models [[JSBSim]] and [[YAsim]]. Currently only one terrain engine is used, TerraGear. Weather effects include 3D clouds, lighting effects, and time of day.


=== Flight Dynamics Models ===
=== Flight Dynamics Models ===
Line 48: Line 49:
* [[JSBSim]] - the default flight dynamics model software since 2000.
* [[JSBSim]] - the default flight dynamics model software since 2000.
* [[YASim]] - another FDM using different calculation method. Introduced starting in 0.7.9 in 2002.
* [[YASim]] - another FDM using different calculation method. Introduced starting in 0.7.9 in 2002.
* [[UIUC]] - another included FDM, developed by the UIUC Applied Aerodynamics Group at University of Illinois at Urbana-Champaign, also made use of LaRCsim.
* [[UIUC]] - developed by the UIUC Applied Aerodynamics Group at University of Illinois at Urbana-Champaign, also made use of LaRCsim. Once being widely used, it is nowadays longer included in FlightGear by default.
* FlightGear can also be setup to render using inputs from an external FDM source, such as from [[MATLAB]].
* FlightGear can also be setup to render using inputs from an external FDM source, such as from [[MATLAB]].
* Other custom FDM for a specific aircraft type have been written, such as for lighter than air aircraft.
* Other custom FDM for a specific aircraft type have been written, such as for lighter than air aircraft.
Line 56: Line 57:


== Hardware ==
== Hardware ==
Hardware needed for FlightGear is narrow to machines that support [[OpenGL]] and 3D hardware acceleration, with NVIDIA hardware having better support. Early versions had support for 3dfx cards, though this dropped as hardware requirements increased.
Hardware needed for FlightGear is narrowed to machines that support [[OpenGL]] and 3D hardware acceleration, with NVIDIA hardware having better support. Early versions had support for 3dfx cards, though this dropped as hardware requirements increased.


[[File:Fgrun-page2.jpg|thumb|left|270px|The [[FlightGear Launch Control|FlightGear Launcher]]]]
[[File:Fgrun-page2.jpg|thumb|left|270px|The [[FlightGear Launch Control|FlightGear Launcher]]]]
Line 62: Line 63:
There are programs that are either integrated into FlightGear (dependencies) or perform a function with it. Some of these are included in the release of FlightGear for a specific platform but made by the project, while others are independently distributed but are hosted by the FlightGear project.  
There are programs that are either integrated into FlightGear (dependencies) or perform a function with it. Some of these are included in the release of FlightGear for a specific platform but made by the project, while others are independently distributed but are hosted by the FlightGear project.  


One major additional software is the actual interface for launching an executable of FlightGear. For most of its early life FlightGear was only run through [[command line]] interfaces. However, the FlightGear Launch Control has been included with the ''[[FG launcher]]'' front-end since 0.9.3 in 2003. ''[[KFreeFlight]]'' is a launcher/front-end for KDE. ''FGTools'' is an alternative windows launcher front-end. ''FGKicker'' is a GTK+ based front-end.
One major additional software is the actual interface for launching an executable of FlightGear. For most of its early life FlightGear was only run through [[command line]] interfaces. However, [[FlightGear Launch Control]] has been included since 0.9.3 in 2003. ''[[KFreeFlight]]'' is a launcher/front-end for KDE. ''FGTools'' is an alternative windows launcher front-end. ''FGKicker'' is a GTK+ based front-end.


Other significant programs include editors and projects for Terrain Data. ''[[Atlas]]'' is a chart/map support for FlightGear; ''[[Kelpie Flight Planner]]'' is a Java based flight planner for FlightGear. ''[[FlightGear Scenery Designer]]'' is a FlightGear scenery editor for working with terrain data. The ''[[World Custom Scenery Project]]'' is a project coordinating custom scenery efforts. Finally, ''[[TaxiDraw]]'' is an editor for airport runways and taxiways.
Other significant programs include editors and projects for terrain data. ''[[Atlas]]'' is a chart/map support for FlightGear; ''[[Kelpie Flight Planner]]'' is a Java based flight planner for FlightGear. Finally, ''[[WorldEditor]]'' is an editor for airport runways and taxiways.


=== Aircraft ===
=== Aircraft ===
{{Main article|Table of models}}
{{Main article|Table of models}}


FlightGear started out with an aircraft included in NASA's LaRCsim, a Navion, which was replaced by a Cessna 172 by 2000. UIUC as well as JSBsim development brought several more aircraft with them, as did the development of YASim which have since become the main FDM used in FG. Over 400 aircraft in more than 800 unique liveries, are available for version 2.10, although only a few are included in the base package.
FlightGear started out with an aircraft included in NASA's LaRCsim, a Navion, which was replaced by a Cessna 172 by 2000. UIUC as well as JSBsim development brought several more aircraft with them, as did the development of YASim which have since become the main FDM used in FG. Over 400 aircraft in more than 900 unique liveries, are available for version 2.12, although only a few are included in the base package.


[[File:EHAM.jpg|thumb|270px|[[Boeing 737-300|Boeing 733]] docked in the [[EHAM]] scenery]]
[[File:EHAM.jpg|thumb|270px|[[Boeing 737-300|Boeing 733]] docked in the [[EHAM]] scenery]]
Line 87: Line 88:
For example, by late 2012 the latest code release was 2.10 (pre-release) and 2.8.0 (final). Binaries are generally available for the last final code release on all major platforms. [http://www.flightgear.org/download/main-program/ Click here to proceed to the flightgear binaries download page]
For example, by late 2012 the latest code release was 2.10 (pre-release) and 2.8.0 (final). Binaries are generally available for the last final code release on all major platforms. [http://www.flightgear.org/download/main-program/ Click here to proceed to the flightgear binaries download page]


Binaries for other platforms such as IRIX are no longer supported, although pre-1.0 releases may work and can be found in the [http://gitorious.org/fg/ git source code repo].
Binaries for other platforms such as IRIX are no longer supported, although pre-1.0 releases may work and can be found in the [[FlightGear Git|git source code repositories]].


==Applications and usages==
==Applications and usages==
{{Main article|Professional and educational FlightGear users}}
{{Main article|Professional and educational FlightGear users}}
FlightGear has been used in a range of projects in academia and industry (including NASA) and even home-built cockpits.
FlightGear has been used and is being used in a wide range of projects in academia, industry (including NASA) and home-built cockpits.


== Reviews ==
== Reviews ==
Line 98: Line 99:
== External links ==
== External links ==
{{Main article|Links}}
{{Main article|Links}}
* {{Wikipedia|FlightGear}}
* [http://www.flightgear.org Official website]
* [http://www.flightgear.org Official website]
* [http://fgfs.i-net.hu/ Community website]
* [http://forum.flightgear.org/ Forums]
* [http://flightgear.org/forums/ Forums]
* [http://code.google.com/p/flightgear-bugs/ Bug tracker]
* [http://code.google.com/p/flightgear-bugs/ Bug Tracker]
* [http://www.flightgear.org/proposal-3.0.1 Original FlightGear Proposal]


{{Appendix|all|
{{Appendix}}
* {{cite web |url=http://www.flightgear.org/proposal-3.0.1 |title=Original FlightGear Proposal |last=Murr |first=David L. |date=11 September, 1998 }}
* {{cite web |url=http://en.wikipedia.org/wiki/FlightGear |title=FlightGear |publisher=Wikipedia }}
}}


[[Category:FlightGear| ]]
[[Category:FlightGear]]
[[Category:Flight Simulator]]


[[ca:FlightGear]]
[[de:FlightGear]]
[[de:FlightGear]]
[[es:FlightGear]]
[[es:FlightGear]]
[[fr:FlightGear]]
[[fr:FlightGear]]
[[it:FlightGear]]
[[nl:FlightGear]]
[[nl:FlightGear]]
[[pl:FlightGear]]
[[pt:FlightGear]]
[[pt:FlightGear]]

Revision as of 18:10, 12 December 2017

FlightGear Flight Simulator
FlightGear Flight Simulator logo
The cockpit of the Boeing 777-200ER
The cockpit of the Boeing 777-200ER
Developed by FlightGear developers & contributors
Initial release July 17, 1997
Latest release 2020.3.19 (18 October 2023)
Written in C and C++
OS Windows, Mac OS X, Linux, and FreeBSD[1]
Platform Cross-platform
Development status Active (1996-present)
Type Flight simulator
License GNU General Public License
Website
NASA OV-10 in FlightGear 1.0

FlightGear Flight Simulator (often shortened to FlightGear or FGFS) is a sophisticated, free, and completely open-source flight simulator framework, created by volunteers. FlightGear is released under the terms of the GNU General Public License. FlightGear is mostly written in the C and C++ programming languages.

Increasingly detailed and realistic versions of FlightGear have been released every year since the project was started in 1996.

The latest public release is available as a free download at flightgear.org/download/, with easy to install packages for a variety of operating systems including Microsoft Windows, Mac OS X, and Linux.

History

1rightarrow.png See FlightGear History for the main article about this subject.

FlightGear development started with an online proposal in 1996, using custom 3D graphics code. Development of an OpenGL based version was spearheaded by Curtis Olson starting in 1997. Many people have contributed to the project in the years since its inception.

FlightGear incorporated other open-source resources, including the LaRCsim flight model from NASA, and freely available elevation data. The first working binaries, using OpenGL for 3D graphic code, came out in 1997. Enthusiastic development of newer versions for several years resulted in progressively more stable and advanced versions. By 2001, the team was releasing new beta versions regularly, and by 2005, the maturity of software lead to more widespread reviews, and increased popularity. 2007 marked a formal transition out of beta development with the release of version 1.0.0, ten years after FlightGear's first release in 1997.

3D Cockpit panel for A-10 in version 1.0.0 in 2008

In 2008, version 1.9.0 of FlightGear included a major change from PLIB to OSG, which caused the temporarily loss of some features like 3D clouds and shadows, while newly added features, such as particles, imparted another degree of realism to the simulation.

Software

The simulation engine in FlightGear is called SimGear. It is used both as an end-user application and in academic and research environments, for the development and pursuit of flight simulation ideas.

This customizability of FlightGear is illustrated by the wide range of aircraft models that are available in FlightGear, from gliders to Helicopters, and from airliners to fighter jets. These aircraft models have been contributed by many different people.

The FlightGear aircraft in general use one of two main flight data models JSBSim and YAsim. Currently only one terrain engine is used, TerraGear. Weather effects include 3D clouds, lighting effects, and time of day.

Flight Dynamics Models

Flight Dynamics Models (FDM) are how the flight for an aircraft is simulated in the program. FlightGear uses a variety of internally written and imported flight model projects. Any aircraft must be programmed to use one of these models. Currently FlightGear is the only flight graphical flight simulator all the FDM are used for, and UIUC and YASim were developed specifically for FlightGear.

Early version used a FDM based on LaRCsim by NASA, which was replaced with more flexible FDM.

  • JSBSim - the default flight dynamics model software since 2000.
  • YASim - another FDM using different calculation method. Introduced starting in 0.7.9 in 2002.
  • UIUC - developed by the UIUC Applied Aerodynamics Group at University of Illinois at Urbana-Champaign, also made use of LaRCsim. Once being widely used, it is nowadays longer included in FlightGear by default.
  • FlightGear can also be setup to render using inputs from an external FDM source, such as from MATLAB.
  • Other custom FDM for a specific aircraft type have been written, such as for lighter than air aircraft.

FlightGear dependencies

Unlike commercial software titles, the main output of the project is simply the release of a collection of code. To turn it into a usable program it must be compiled for a given platform. The software libraries used to create FlightGear have varied over time. The main one is SimGear, which is the underlying sim engine for FlightGear. TerraGear is not a dependency, but simply a name for the default terrain data program in FlightGear. OpenAL is used for sound/audio software, including support for SDL (since 0.9.5). PLIB is used for hardware support routines, formerly used for sound support also which was taken over by OpenAL. OpenGL is used for its integrated 3D graphics routines, and other hardware acceleration (namely DirectX) is not supported. OpenSceneGraph is also integrated into FlightGear. Finally, Simple DirectMedia Layer is a software library which is used for compiling. Some of the dependencies vary depending on which platform the code is being compiled for. FlightGear users must either compile the code themselves, or find a third party to release a binary, if it is not among the ones available from the project.

Hardware

Hardware needed for FlightGear is narrowed to machines that support OpenGL and 3D hardware acceleration, with NVIDIA hardware having better support. Early versions had support for 3dfx cards, though this dropped as hardware requirements increased.

Add-ons and customization

There are programs that are either integrated into FlightGear (dependencies) or perform a function with it. Some of these are included in the release of FlightGear for a specific platform but made by the project, while others are independently distributed but are hosted by the FlightGear project.

One major additional software is the actual interface for launching an executable of FlightGear. For most of its early life FlightGear was only run through command line interfaces. However, FlightGear Launch Control has been included since 0.9.3 in 2003. KFreeFlight is a launcher/front-end for KDE. FGTools is an alternative windows launcher front-end. FGKicker is a GTK+ based front-end.

Other significant programs include editors and projects for terrain data. Atlas is a chart/map support for FlightGear; Kelpie Flight Planner is a Java based flight planner for FlightGear. Finally, WorldEditor is an editor for airport runways and taxiways.

Aircraft

1rightarrow.png See Table of models for the main article about this subject.

FlightGear started out with an aircraft included in NASA's LaRCsim, a Navion, which was replaced by a Cessna 172 by 2000. UIUC as well as JSBsim development brought several more aircraft with them, as did the development of YASim which have since become the main FDM used in FG. Over 400 aircraft in more than 900 unique liveries, are available for version 2.12, although only a few are included in the base package.

Boeing 733 docked in the EHAM scenery

Scenery

1rightarrow.png See Scenery for the main article about this subject.

FlightGears world scenery project contains elevation and landclass data of the enitre world. Objects -like terminals, windmills and bridges- are collected in the Scenery Database.

Networking and multi-display

Several networking options allow FlightGear to communicate with other instances of FlightGear. A multiplayer protocol is available for using FlightGear on a local network in a multi aircraft environment. This could be used for formation flight or control tower simulation. Multiplayer was soon expanded to allow playing over the internet. Other features include a Google maps based moving up that allows users to observe where other players are.

Several instances of FlightGear can be synchronized to allow for a multi-monitor environment. If all instances are running at the same frame rate consistently, it is possible to get good and tight synchronization between displays.

FlightGear code vs. binaries

Unlike most commercial software, the project release dates only apply to a release of code, not an executable program. To create a runnable program the code must be compiled, which requires several specific libraries, including some general ones and, in some cases some platform specific ones. However, since this too difficult for most mainstream users, other contributors will work to make binaries available for a specific platform and operating system. These packages vary in their stability, performance, dependencies, and how up to date they are with the code base. For example, some older binaries work on Mac OS 9 but newer releases require specific Mac OS X versions.

For example, by late 2012 the latest code release was 2.10 (pre-release) and 2.8.0 (final). Binaries are generally available for the last final code release on all major platforms. Click here to proceed to the flightgear binaries download page

Binaries for other platforms such as IRIX are no longer supported, although pre-1.0 releases may work and can be found in the git source code repositories.

Applications and usages

1rightarrow.png See Professional and educational FlightGear users for the main article about this subject.

FlightGear has been used and is being used in a wide range of projects in academia, industry (including NASA) and home-built cockpits.

Reviews

1rightarrow.png See FlightGear Reviews for the main article about this subject.

External links

1rightarrow.png See Links for the main article about this subject.

References
  1. http://www.flightgear.org/download/main-program/. Retrieved February 15, 2015.